[MPMusicPlayerController iPodMusicPlayer] を使用して、AVAudioPlayer を使用するローカルの「beep.caf」ファイルを再生する前に、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 の音量を設定する必要があります。これを正しく行うにはどうすればよいですか?