资源简介
在Win7/Win8操作系统下,采用最新UAA架构的Wasapi接口,
实现[缺省音频设备]的[独占输出模式],避免信号音质损失,
缩短信号放送延时,支持SPDIF光纤直接输出AC3和DTS信号;
代码片段和文件信息
#ifndef __wasapi_outs_cpp__
#define __wasapi_outs_cpp__
//-----------------------------------------------------------------------------
#include “wasapi_outs.h“
//-----------------------------------------------------------------------------
const GUID CID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
const GUID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
const GUID IID_IAudioClient = __uuidof(IAudioClient);
const GUID IID_IAudioRenderClient = __uuidof(IAudioRenderClient);
//-----------------------------------------------------------------------------
static DWORD __stdcall my_thread(PVOID argp)
{
wasapi_outs_zone *zone = (wasapi_outs_zone *)argp;
DWORD task_number = 0;
HANDLE task_handle = 0;
HANDLE hevents[2];
UINT32 buffer_size = 0;
PBYTE buffer_addr = 0;
hevents[0] = zone->hevent_cancel;
hevents[1] = zone->hevent_buffer;
// ready //////////////////////////////////////////////////////////////////
ResetEvent(zone->hevent_buffer);
zone->wasapi_client->GetBufferSize(&buffer_size);
// start //////////////////////////////////////////////////////////////////
zone->wasapi_render->GetBuffer(buffer_size &buffer_addr);
zone->callback_func(buffer_addr buffer_size << 2 0);
zone->wasapi_render->ReleaseBuffer(buffer_size 0);
task_handle = AvSetMmThreadCharacteristicsW(L“Pro Audio“ &task_number);
zone->wasapi_client->Start();
// loops //////////////////////////////////////////////////////////////////
while(1)
{
if(WaitForMultipleobjects(2 hevents FALSE -1) == WAIT_object_0)
break;
ResetEvent(zone->hevent_buffer);
zone->wasapi_render->GetBuffer(buffer_size &buffer_addr);
zone->callback_func(buffer_addr buffer_size << 2 0);
zone->wasapi_render->ReleaseBuffer(buffer_size 0);
};
// finis //////////////////////////////////////////////////////////////////
WaitForSingleobject(zone->hevent_buffer -1);
zone->wasapi_render->GetBuffer(buffer_size &buffer_addr);
zone->callback_func(buffer_addr buffer_size << 2 1);
zone->wasapi_render->ReleaseBuffer(buffer_size 0);
// finis //////////////////////////////////////////////////////////////////
WaitForSingleobject(zone->hevent_buffer -1);
zone->wasapi_render->GetBuffer(buffer_size &buffer_addr);
zone->callback_func(buffer_addr buffer_size << 2 2);
zone->wasapi_render->ReleaseBuffer(buffer_size 0);
// clean //////////////////////////////////////////////////////////////////
zone->wasapi_client->Stop();
if(task_handle != NULL)
{
AvRevertMmThreadCharacteristics(task_handle);
}
return 0;
}
//-----------------------------------------------------------------------------
int __stdcall wasapi_outs_create(wasapi_outs_zone **zone)
{
if(zone != NULL)
{
if
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9216 2013-04-13 11:06 module.wasapi_outs.vs8\Release\wasapi_outs.dll
文件 1928 2013-04-13 11:06 module.wasapi_outs.vs8\Release\wasapi_outs.exp
文件 3452 2013-04-13 11:06 module.wasapi_outs.vs8\Release\wasapi_outs.lib
文件 248832 2013-04-13 11:06 module.wasapi_outs.vs8\Release\wasapi_outs.pdb
文件 9544 2013-04-13 11:25 module.wasapi_outs.vs8\wasapi_outs\wasapi_outs.cpp
文件 206 2013-04-12 15:46 module.wasapi_outs.vs8\wasapi_outs\wasapi_outs.def
文件 2229 2013-04-13 10:45 module.wasapi_outs.vs8\wasapi_outs\wasapi_outs.h
文件 4285 2013-04-12 13:06 module.wasapi_outs.vs8\wasapi_outs\wasapi_outs.vcproj
文件 1385 2013-04-13 15:13 module.wasapi_outs.vs8\wasapi_outs\wasapi_outs.vcproj.mody-PC.mody.user
文件 899 2013-04-03 11:19 module.wasapi_outs.vs8\wasapi_outs.sln
..A..H. 17408 2013-04-13 15:13 module.wasapi_outs.vs8\wasapi_outs.suo
目录 0 2013-04-13 11:06 module.wasapi_outs.vs8\Release
目录 0 2013-04-14 12:52 module.wasapi_outs.vs8\wasapi_outs
目录 0 2013-04-14 12:52 module.wasapi_outs.vs8
----------- --------- ---------- ----- ----
299384 14
- 上一篇:数据库高校学籍管理系统
- 下一篇:ET199加密锁写狗工具
相关资源
- Virtual Audio Cable 4.10破解版+设置说明
- Virtual Audio Cable 4.15完美破解没有立体
- virtual_audio_cable安装失败问题
- 音频转换器ArialAudioConverter-v2.3.53(含
- WAV文件格式分析与应用.zip
-
Softe Audio Pla
yer - Realtek_Audio Console_1.2.169.0(station-driv
- Audio Visualizer v2.4.txt
- Virtual Audio Cable 4.10破解版完美去除&
- 极品音效增强软件(增加环绕立体声
- 虚拟声卡 Virtual Audio Cable 4.15 破解版
- Portaudio asio 多设备录音
- IOS利用AVFoundation框架实现录音和播放
- AudioJungle纯音频,用于去水印
- audio jungle水印 降噪移除专用SRM模型
- audio resample音频重采样
- Virtual Audio Cable4.09 破解版
- 生成指定分贝数指定形状的音频波形
- IDT intel 6 series chipset for audio
评论
共有 条评论