gpt4 book ai didi

iOS。在后台播放/暂停和转发非 iPod 音乐播放器

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:21:22 30 4
gpt4 key购买 nike

我正在寻找一种解决方案来控制播放、暂停和转发音乐播放器,例如 Google Play 或 Spotify 应用程序。以下代码适用于默认音乐应用播放/暂停音乐:

iPodMusicPlayer = [MPMusicPlayerController iPodMusicPlayer];
if ([iPodMusicPlayer playbackState] == MPMusicPlaybackStatePlaying) {
NSLog(@"Pause music");
[iPodMusicPlayer pause];
}

else if ([iPodMusicPlayer playbackState] == MPMusicPlaybackStatePaused){
NSLog(@"Play music");
[iPodMusicPlayer play];
}

并转发下一首歌曲:

[iPodMusicPlayer skipToNextItem];

有什么方法可以对其他音乐播放器做同样的事情吗?

我尝试了下一个代码但没有成功:

bool active = [[AVAudioSession sharedInstance] isOtherAudioPlaying];

if (active) {
[[AVAudioSession sharedInstance] setActive:YES withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
}

else{
[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
}

最佳答案

错误 560557684 是针对 AVAudioSessionErrorCodeCannotInterruptOthers 的。当您的后台应用程序试图激活不与其他 Audio Session 混合的 Audio Session 时,就会发生这种情况。后台应用无法启动不与前台应用的 Audio Session 混合的 Audio Session ,因为这会中断用户当前正在使用的应用的音频。

要解决此问题,请确保将您的 session 类别设置为可混合的类别,例如 AVAudioSessionCategoryPlayback。还要确保设置类别选项 AVAudioSessionCategoryOptionMixWithOthers(必需)和 AVAudioSessionCategoryOptionDuckOthers(可选)。

AVAudioRecorder not recording in background after audio session interruption ended

关于iOS。在后台播放/暂停和转发非 iPod 音乐播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25411008/

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