0

我想检查是否播放了 ipod 音乐,所以我添加了 mediaplayer 框架并导入了它:

#import <MediaPlayer/MediaPlayer.h>

然后我有一个NSCoder:

-(id)initWithCoder:(NSCoder *)coder { 

self = [super initWithCoder:coder];

if(self)
{

    if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying) {
    }
    else {

        [self playBgMusic];


    } }

return self; }

但这不起作用。如果 ipod 音乐正在播放并且我启动应用程序,则 ipod 音乐将关闭并​​播放来自应用程序的音乐。

怎么了?

4

1 回答 1

1
  1. 将 AVFoundation 框架添加到您的项目中(如果还没有的话)。
  2. 将其导入您的应用委托。

    #import <AVFoundation/AVFoundation.h>
    
  3. 将此代码放入您的应用程序中:didFinishLaunchingWithOptions: 方法,以便它在应用程序启动时运行。

    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
    

这将设置您的应用程序使用的音频会话的“类别”,以允许与 iPod 音乐播放器混合。默认情况下,类别设置为“AVAudioSessionCategorySoloAmbient”,不允许混音。请参阅下面的 Apple 文档。

使用电影和 iPod 音乐

AVAudioSession 类参考

于 2012-08-07T20:40:41.770 回答