gpt4 book ai didi

ios - AudioQueueStart 发布消息以终止 mediaserverd

转载 作者:行者123 更新时间:2023-11-28 19:18:14 31 4
gpt4 key购买 nike

我有一个钢琴应用程序。它工作正常,有一点错误。如果我非常快地同时弹几个键,声音会消失几秒钟,并在控制台中收到以下消息

AudioQueueStart posting message to kill 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];
}

我已经使用 Instruments 进行了测试,没有任何内存泄漏。如果有人有办法避免此错误,我们将不胜感激。

最佳答案

我遇到了类似的问题。

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

  1. 我所在的 AudioCategory 不允许在静音开关打开时播放声音。
  2. 我开始播放声音(实际上我并没有在应用程序中这样做,但这是我可以可靠地重现的方式)。
  3. 在声音仍在播放的情况下,我切换到另一个 AudioCategory,它在静音开关打开时不允许播放声音。

从这一点开始,我从 AudioSession API 中的调用中的各个点得到“发布消息以杀死 mediaserverd”。应用程序挂起,设备挂起,我努力让设备恢复到正常运行状态。

关于ios - AudioQueueStart 发布消息以终止 mediaserverd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10952469/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com