资源简介
博客:http://blog.csdn.net/i_scream_/article/details/52760033
中的代码。
测试环境:win10 64bit+ vs2010/vs2015
代码片段和文件信息
/*=========================================================================\
* Copyright(C)2016 Chudai.
*
* File name : audio.c
* Version : v1.0.0
* Author : 初代
* Date : 2016/10/06
* Description :
* Function list: 1.
* 2.
* 3.
* History :
\*=========================================================================*/
#include “stdafx.h“
/*-----------------------------------------------------------*
* 头文件 *
*-----------------------------------------------------------*/
#define __STDC_CONSTANT_MACROS //ffmpeg要求
#include “player.h“
#include “audio.h“
/*======================================================================\
* Author (作者): i.sshe
* Date (日期): 2016/10/06
* Others (其他): 准备audio
\*=======================================================================*/
int prepare_audio(PlayerState *ps)
{
ps->paudio_stream = ps->pformat_ctx->streams[ps->audio_stream_index];
ps->paudio_codec_ctx = ps->paudio_stream->codec;
ps->paudio_codec = avcodec_find_decoder(ps->paudio_codec_ctx->codec_id);
if (ps->paudio_codec == NULL)
{
fprintf(ERR_STREAM “Couldn‘t find audio decoder!!!!!!!\n“);
return -1;
}
//初始化AVCondecContext,以及进行一些处理工作。
avcodec_open2(ps->paudio_codec_ctx ps->paudio_codec NULL);
return 0;
}
/*======================================================================\
* Author (作者): i.sshe
* Date (日期): 2016/10/06
* Others (其他): 播放声音
\*=======================================================================*/
int play_audio(PlayerState *ps)
{
SDL_AudioSpec wanted_spec;
// SDL_AudioSpec spec;
wanted_spec.freq = ps->paudio_codec_ctx->sample_rate;
wanted_spec.format = AUDIO_S16SYS;
wanted_spec.channels = ps->paudio_codec_ctx->channels;
wanted_spec.silence = 0;
wanted_spec.samples = 1024; //
wanted_spec.callback = audio_callback;
wanted_spec.userdata = ps; // ps->paudio_codec_ctx;
//打开音频设备
//运行callback
if (SDL_OpenAudio(&wanted_spec NULL) < 0)
{
fprintf(ERR_STREAM “Couldn‘t open audio device\n“);
return -1;
}
SDL_PauseAudio(0);
return 0;
}
/*======================================================================\
* Author (作者): i.sshe
* Date (日期): 2016/10/06
* Others (其他): 音频回调函数,打开设备的时候会开线程调用
\*=======================================================================*/
void audio_callback(void *userdata uint8_t *stream int len)
{
PlayerState *ps = (PlayerState *)userdata;
int send_data_size = 0;
int audio_size = 0;
if (ps->quit == 1)
{
exit(-1);
}
SDL_memset(stream 0 len);
while(len > 0)
{
if (ps->audio_buf_index >= ps->audio_buf_size)
{
//数据已经全部发送,再去取
audio_size
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-10-09 12:26 pla
目录 0 2016-10-09 12:25 pla
文件 41984 2016-10-09 12:26 pla
文件 449304 2016-10-09 12:26 pla
文件 715776 2016-10-09 12:26 pla
目录 0 2016-10-09 12:15 pla
目录 0 2016-10-09 12:22 pla
文件 2359296 2016-10-09 12:22 pla
目录 0 2016-10-09 12:25 pla
目录 0 2016-10-09 12:26 pla
文件 107066 2016-10-09 12:26 pla
文件 4470 2016-10-09 12:26 pla
文件 33202 2016-10-09 12:25 pla
文件 5566 2016-10-09 12:26 pla
文件 2 2016-10-09 12:26 pla
文件 2 2016-10-09 12:26 pla
文件 2 2016-10-09 12:26 pla
文件 2 2016-10-09 12:26 pla
文件 2 2016-10-09 12:26 pla
文件 2 2016-10-09 12:26 pla
文件 3388 2016-10-09 12:26 pla
文件 7492 2016-10-09 12:26 pla
文件 2244 2016-10-09 12:26 pla
文件 498 2016-10-09 12:26 pla
文件 498 2016-10-09 12:26 pla
文件 498 2016-10-09 12:26 pla
文件 26011 2016-10-09 12:25 pla
文件 406 2016-10-09 12:25 pla
文件 472 2016-10-09 12:25 pla
文件 381 2016-10-09 12:26 pla
文件 93 2016-10-09 12:26 pla
............此处省略215个文件信息
- 上一篇:ssh2项目练手—购物网站
- 下一篇:用友U8V12.5数据字典
相关资源
- H264+ffmpeg解码+VFW播放
- ffmpeg-win64
- ffmpeg实现视频播放
- CMake+opencv3.4编译时 Download: opencv_ffmp
- ffmpeg-git-64bit-static.tar.xz
- FFmpeg从入门到精通-刘岐-PDF最新完整版
- ffmpeg win64位解码库 包括static、dev和
- ffmpeg 依赖库
- QML与ffmpeg实现简单视频播放与播放操
- ffmpeg相关安装包
- express-ffmpeg云转码程序带前后台管理
- ffmpeg实现windows桌面采集
- 视频编解码---x264用于编码,ffmpeg用于
- FFMPEG录屏软件1.0
- 使用jrtplib发送和接收网络流支持解码
- 最新版MinGW + yasm + ffmpeg编译环境大全
- FFmpeg+qt实现的播放器工程
- ffmpeg64库
- ffmpeg-4.3.1-full_build
- FFmpege编译源码静态库
- H264测试文件 1080P2分30秒和720P1分45秒
- nginx-flv部署和安装.zip
- FFMpeg资源
- ffmpeg+nginx+nginx-rtmp-module搭建个人直播
- ffmpeg 直播推流
- 编译opencv3.1需要的opencv_ffmpeg_64.dll-o
- 4.2.3_ffmpeg-release-amd64-static.tar_2.xz
- ffmpeg 采集摄像机流(rtsp)后推流(
- handbrake -- ffmpeg 图形化工具
- opencv_ffmpeg_64.dll
评论
共有 条评论