我设置了一个包含多个音频单元的AUGraph。
我知道当我调用AUGraphStart()
时,图表会开始渲染所有音频单元。但我希望能够开始渲染一个特定的AUFilePlayer。
有可能吗?
更新
我在评论中看到我的问题缺乏细节。 我有我的AUGraph的当前设置:
AUFilePlayer - > AUMixer - > AUOutput
我使用特定的AudioFileID设置AUFilePlayer。
当我启动图表时,我想只是“开始”图形而没有任何声音。 后来我想做一些像:AUFilePlayer.Play()来开始发声。
我不知道是否可能......
更新:找到解决方法
我想我找到了解决方法。请参阅我的回答了解我的详细信息。
答案 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
字段设置正确的框架。
我不知道这是否是一个很好的方法,但它确实起作用。