我试图播放声音时,它的一个按钮,它使用iOS 5文件播放器音频单元。设置ScheduledAudioFileRegion重新开始
文件播放器播放使用ScheduledAudioFileRegion音频和可以预定需要
ScheduledAudioFileRegion rgn;
memset (&rgn.mTimeStamp, 0, sizeof(rgn.mTimeStamp));
rgn.mTimeStamp.mFlags = kAudioTimeStampSampleTimeValid;
rgn.mTimeStamp.mSampleTime = 0;
rgn.mCompletionProc = NULL;
rgn.mCompletionProcUserData = NULL;
rgn.mAudioFile = audioFile;
rgn.mLoopCount = INT_MAX;
rgn.mStartFrame = 0;
rgn.mFramesToPlay = nPackets * fileASBD.mFramesPerPacket; // plays entire file.
我怎样才能知道这个文件的播放,只要按下一个按钮,从一开始就播放声音玩尽可能多的帧,还是每次都必须创建一个新的区域和memset?我希望从开始到结束按下按钮时播放的声音,但是当再次点击按钮时,即使文件正在播放,也应该从头开始播放。这是可能的文件播放器音频单元?
您不需要使用'INT_MAX'来获取无限循环,将'mLoopCount'设置为'-1'将导致该区域无限循环。 – 2012-08-14 14:58:21
是否这样,你*只*想要一个声音文件播放时按下按钮,或者你想做的比例如,触发重叠的声音文件,添加效果等?如果它只是一个简单的触发器,那么按照[这里](http://stackoverflow.com/a/2778996/172218)的描述使用'AudioServicesPlaySystemSound'会更加直接。对于简单的声音文件触发,AudioUnit是矫枉过正的。 – 2012-08-14 15:08:56
我正在使用核心音频音频单元捕捉声音并创建子图的电子地图。我需要在主混音中捕捉这些触发的声音。 – jarryd 2012-08-18 13:18:46