ffmpeg 点播


ffmpeg结合Windows SDK开发的点播功能,实现了ffmpeg的编解码功能,实现了网络传输功能,值得期待哦
资源截图
代码片段和文件信息
#include “internal.h“
#include “globals.h“
#include “wave_render.h“
#include “dsound_render.h“
#include “audio_out.h“


#ifdef  __cplusplus
extern “C“ {
#endif

EXPORT_API int wave_init_audio(struct ao_context *ctx uint32_t channels
uint32_t bits_per_sample uint32_t sample_rate int format)
{
wave_render* wave = NULL;
ctx->priv = (void*)(wave = new wave_render);
return wave->init_audio((void*)ctx->priv channels bits_per_sample sample_rate format) ? 0 : -1;
}

EXPORT_API int wave_play_audio(struct ao_context *ctx uint8_t* data uint32_t size)
{
wave_render* wave = (wave_render*)ctx->priv;
return wave->play_audio(data size);
}

EXPORT_API void wave_audio_control(struct ao_context *ctx double l double r)
{
wave_render* wave = (wave_render*)ctx->priv;
control_vol_t ctrl_vol = { l r };
wave->audio_control(CONTROL_SET_VOLUME &ctrl_vol);
}

EXPORT_API void wave_mute_set(struct ao_context *ctx int s)
{
wave_render* wave = (wave_render*)ctx->priv;
control_vol_t ctrl_vol;
ctrl_vol.mute = s;
wave->audio_control(CONTROL_MUTE_SET &ctrl_vol);
}

EXPORT_API void wave_destory_audio(struct ao_context *ctx)
{
wave_render* wave = (wave_render*)ctx->priv;
if (wave)
{
wave->destory_audio();
delete wave;
ctx->priv = NULL;
}
}


EXPORT_API int dsound_init_audio(struct ao_context *ctx uint32_t channels
uint32_t bits_per_sample uint32_t sample_rate int format)
{
dsound_render* dsound = NULL;
ctx->priv = (void*)(dsound = new dsound_render);
return dsound->init_audio((void*)dsound channels bits_per_sample sample_rate format) ? 0 : -1;
}

EXPORT_API int dsound_play_audio(struct ao_context *ctx uint8_t* data uint32_t size)
{
dsound_render* dsound = (dsound_render*)ctx->priv;
return dsound->play_audio(data size);
}

EXPORT_API void dsound_audio_control(struct ao_context *ctx double l double r)
{
dsound_render* dsound = (dsound_render*)ctx->priv;
control_vol_t ctrl_vol = { l r };
dsound->audio_control(CONTROL_SET_VOLUME &ctrl_vol);
}

EXPORT_API void dsound_mute_set(struct ao_context *ctx int s)
{
dsound_render* dsound = (dsound_render*)ctx->priv;
control_vol_t ctrl_vol;
ctrl_vol.mute = s;
dsound->audio_control(CONTROL_MUTE_SET &ctrl_vol);
}

EXPORT_API void dsound_destory_audio(struct ao_context *ctx)
{
dsound_render* dsound = (dsound_render*)ctx->priv;
if (dsound)
{
dsound->destory_audio();
delete dsound;
ctx->priv = NULL;
}
}

#ifdef  __cplusplus
}
#endif


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-05-02 12:00  avplayer-master
     文件         533  2017-05-02 12:00  avplayer-master.gitignore
     文件         104  2017-05-02 12:00  avplayer-master.gitmodules
     文件         558  2017-05-02 12:00  avplayer-master.travis.yml
     文件         976  2017-05-02 12:00  avplayer-masterCMakeLists.txt
     文件       35147  2017-05-02 12:00  avplayer-masterLICENSES
     文件        2481  2017-05-02 12:00  avplayer-masterREADME.md
     目录           0  2017-05-02 12:00  avplayer-masteraudio
     文件         138  2017-05-02 12:00  avplayer-masteraudioCMakeLists.txt
     文件        4599  2017-05-02 12:00  avplayer-masteraudioaudio.vcproj
     文件        5897  2017-05-02 12:00  avplayer-masteraudioaudio.vcxproj
     文件        1271  2017-05-02 12:00  avplayer-masteraudioaudio.vcxproj.filters
     文件        2449  2017-05-02 12:00  avplayer-masteraudioaudio_out.cpp
     文件        1693  2017-05-02 12:00  avplayer-masteraudioaudio_out.h
     文件        4233  2017-05-02 12:00  avplayer-masteraudioaudio_render.h
     文件       42114  2017-05-02 12:00  avplayer-masteraudioaudiocvt.h
     文件       10402  2017-05-02 12:00  avplayer-masteraudiodsound_render.cpp
     文件        1510  2017-05-02 12:00  avplayer-masteraudiodsound_render.h
     文件         383  2017-05-02 12:00  avplayer-masteraudiointernal.h
     文件        3728  2017-05-02 12:00  avplayer-masteraudiosdl_render.cpp
     文件        1602  2017-05-02 12:00  avplayer-masteraudiosdl_render.h
     文件        5753  2017-05-02 12:00  avplayer-masteraudiowave_render.cpp
     文件        1226  2017-05-02 12:00  avplayer-masteraudiowave_render.h
     文件        5589  2017-05-02 12:00  avplayer-masteravplay_vc2005.sln
     文件        3806  2017-05-02 12:00  avplayer-masteravplay_vc2012.sln
     文件          49  2017-05-02 12:00  avplayer-masteravplayer.kdev4
     目录           0  2017-05-02 12:00  avplayer-masterdemux
     文件        3626  2017-05-02 12:00  avplayer-masterdemuxdemux.cpp
     文件        1867  2017-05-02 12:00  avplayer-masterdemuxdemux.h
     文件        4670  2017-05-02 12:00  avplayer-masterdemuxdemux.vcproj
     文件        5666  2017-05-02 12:00  avplayer-masterdemuxdemux.vcxproj
............此处省略899个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)