在播放使用 AVAudioPlayer 的本地“beep.caf”文件之前,我使用 [MPMusicPlayerController iPodMusicPlayer] 设置 ipod 音量。奇怪的事情发生了,如果我在运行以下代码之前杀死系统 ipod 应用程序,beep.caf 只播放了 1~2 秒,这应该是 30 秒的音频。像这样的代码:
self.ipodPlayer = [MPMusicPlayerController ipodMusicPlayer];
self.ipodPlayer.volumn = .5;
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: fileName];
NSError *err = nil;
self.trackPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&err];
if(err)
{
//LOG ERR
}
else
{
if ([trackPlayer prepareToPlay]) {
if (![trackPlayer play]) {
//ALog(@"Error:play sound failed.");
}
}
else
{
//ALog(@"Error:prepare play sound failed.");
};
}
此代码在 iOS4.3 下运行良好。我怀疑 iPodMusicPlayer 在 iOS 6.0.1 下初始化时是否有什么特别之处。
我需要在播放本地音频之前设置 ipodPlayer 的音量,我该如何正确设置?