我创建了自己的自定义控件,用于MPMoviePlayerController
. 到目前为止一切正常,除了静音按钮控制。
在AVAudioSession
创建MPMoviePlayerController
.
NSError *modeError = nil;
[self.audioSession setMode:AVAudioSessionModeMoviePlayback error:&modeError];
if (modeError != nil) {
NSLog(@"Error setting mode for AVAudioSession: %@", modeError);
}
NSError *categoryError = nil;
[self.audioSession setCategory:AVAudioSessionCategoryPlayback error:&categoryError];
if (categoryError != nil) {
NSLog(@"Error setting category for AVAudioSession: %@", categoryError);
}
然后在我的静音按钮回调方法中,我有以下代码:
NSError *activeError = nil;
[self.audioSession setActive:NO error:&activeError];
if (activeError != nil) {
NSLog(@"Error setting inactive state for AVAudioSession: %@", activeError);
}
单击静音按钮时,我收到以下无用错误:
Error Domain=NSOSStatusErrorDomain Code=560030580 "The operation couldn’t be completed. (OSStatus error 560030580.)"
我正在链接到AVFoundation
框架。
这真的开始困扰我,因为我一生都无法找到一种方法来减少或静音我的应用程序的播放音频。
我不想仅更改AVAudioSession
AVAudioSessionCategoryPlayback
类别定义的应用程序级别的系统全局卷。
好像可以设置音量,AVAudioPlayer
但不能设置MPMoviePlayerController
。我在 SO 上看到了其他帖子,说只是创建一个实例AVAudioPlayer
并设置音量,但这只会导致我的应用程序崩溃,我希望这与我没有使用initWithContentsOfURL:error:
orinitWithData:error:
而是使用 `的事实有关在里面'。
任何帮助,将不胜感激。