Ios AudioQueueStart发布消息以杀死mediaserverd

Ios AudioQueueStart发布消息以杀死mediaserverd,ios,avaudioplayer,Ios,Avaudioplayer,我有一份钢琴申请书。它工作正常,有一点错误。如果我同时快速播放几个键,声音会消失几秒钟,并在控制台中收到以下消息 AudioQueueStart发布消息以杀死mediaserverd 以下是相关代码: -(IBAction)playNoteFromKeyTouch:(id) sender{ [NSThread detachNewThreadSelector:@selector(playNote:) toTarget:self withObject:[NSString stringWit

我有一份钢琴申请书。它工作正常,有一点错误。如果我同时快速播放几个键,声音会消失几秒钟,并在控制台中收到以下消息

AudioQueueStart发布消息以杀死mediaserverd

以下是相关代码:

-(IBAction)playNoteFromKeyTouch:(id) sender{

    [NSThread detachNewThreadSelector:@selector(playNote:) toTarget:self withObject:[NSString stringWithFormat:@"Piano.mf.%@",[sender currentTitle]]];

}

-(void)playNote:(NSString *) note{
    NSError *err;
    NSString *path = [[NSBundle mainBundle] pathForResource:note ofType:@"aiff"];
    AVAudioPlayer *p = [[AVAudioPlayer alloc ] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:&err];
    p.delegate = self;
    if (err) {
        NSLog(@"%@", err);
    }else{
        [p prepareToPlay];
        [p play];
    }
}

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
    [player release];
}
我用仪器测试过,没有内存泄漏。如果有人能想出办法避免这个错误,我们将不胜感激。

我用SoundBankPlayer而不是AVAudioPlayer“解决”了这个问题

我用SoundBankPlayer而不是AVAudioPlayer“解决”了这个问题

根据这是设备的静音开关。

事实证明,通过该设备的物理开关将iPad静音是一件好事 导致我的应用程序出现问题。只要按钮没有按下 接通电源后,故障不会发生

嘘。如何以编程方式覆盖?

根据这是设备的静音开关。

事实证明,通过该设备的物理开关将iPad静音是一件好事 导致我的应用程序出现问题。只要按钮没有按下 接通电源后,故障不会发生


嘘。如何以编程方式重写?

我也遇到了类似的问题

我花了很多时间试图解决这个问题,我认为我的特殊问题发生在:

  • 我属于音频类别,当静音开关打开时不允许播放声音
  • 我开始播放声音(实际上我在应用程序中没有这样做,但这就是我能够可靠地再现声音的方式)
  • 在声音仍在播放的情况下,我切换到另一个AudioCategory,它不允许在静音开关打开时播放声音

  • 从这一点开始,我从AudioSession API调用中的不同点获得了“发布消息杀死mediaserverd”。应用程序挂起,设备挂起,我很难让设备恢复正常运行状态。

    我也遇到了类似的问题

    我花了很多时间试图解决这个问题,我认为我的特殊问题发生在:

  • 我属于音频类别,当静音开关打开时不允许播放声音
  • 我开始播放声音(实际上我在应用程序中没有这样做,但这就是我能够可靠地再现声音的方式)
  • 在声音仍在播放的情况下,我切换到另一个AudioCategory,它不允许在静音开关打开时播放声音
  • 从这一点开始,我从AudioSession API调用中的不同点获得了“发布消息杀死mediaserverd”。应用程序挂起,设备挂起,我努力使设备恢复到正常运行状态。

    可能的重复