如何在AUGraph中渲染特定的音频单元

时间:2017-07-17 15:04:21

标签: cocoa core-audio

我设置了一个包含多个音频单元的AUGraph。

我知道当我调用AUGraphStart()时,图表会开始渲染所有音频单元。但我希望能够开始渲染一个特定的AUFilePlayer。

有可能吗?

更新

我在评论中看到我的问题缺乏细节。 我有我的AUGraph的当前设置:

AUFilePlayer - > AUMixer - > AUOutput

我使用特定的AudioFileID设置AUFilePlayer。

当我启动图表时,我想只是“开始”图形而没有任何声音。 后来我想做一些像:AUFilePlayer.Play()来开始发声。

我不知道是否可能......

更新:找到解决方法

我想我找到了解决方法。请参阅我的回答了解我的详细信息。

1 个答案:

答案 0 :(得分:0)

我找到了以下解决方法:

当我设置我的AUFilePlayer时,我将mFramesToPlay结构的值ScheduledAudioFileRegion设置为:

ScheduledAudioFileRegion audio_file_region;
/*... init values...*/
audio_file_region_.mFramesToPlay = 0;

而不是

audio_file_region_.mFramesToPlay = number_of_frames_for_the_audio_file;

当我启动图表时,AUFilePlayer不播放任何声音。

然后我有一个方法Play(),我为mFramesToPlay字段设置正确的框架。

我不知道这是否是一个很好的方法,但它确实起作用。