MPMusicPlayerController 可以从本地资源播放音乐吗?

Posted

技术标签:

【中文标题】MPMusicPlayerController 可以从本地资源播放音乐吗?【英文标题】:Can MPMusicPlayerController can play music from local resource? 【发布时间】:2011-11-04 07:42:37 【问题描述】:

我想用 MPMusicPlayerController 播放音乐。

MPMediaItem * mediaItem = [];
MPMediaItemCollection *songs;
NSArray * array = [NSArray arrayWithObjects:mediaItem, nil];
songs = [MPMediaItemCollection collectionWithItems:array];

[[MPMusicPlayerController iPodMusicPlayer] setQueueWithItemCollection:songs];      

我不知道如何给 mediaItem,我有一个 mp3 文件。 帮我。谢谢你!

【问题讨论】:

【参考方案1】:

不,MPMusicPlayerController 只会播放媒体库中的音乐(这就是它位于 MP/MediaPlayer 框架中的原因)您需要使用 AVAudioPlayerAVPlayer 类。不幸的是,还有更多的工作来实现它。

类似的东西应该让你开始:

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3",      [[NSBundle mainBundle] resourcePath]]];

NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = -1;

if (audioPlayer == nil)
    NSLog([error description]);
else
    [audioPlayer play];

【讨论】:

如果您认为这回答了您的问题,请将此答案标记为已接受的答案。谢谢:-)

以上是关于MPMusicPlayerController 可以从本地资源播放音乐吗?的主要内容,如果未能解决你的问题,请参考以下文章

带有 MPMusicPlayerController 的 AVAudioPlayer

在后台检测 MPMusicPlayerController 通知

iPhone - MPMusicPlayerController - 从队列中选择音频并播放

MPMusicPlayerController 可以从本地资源播放音乐吗?

AudioUnits 和 MPMusicPlayerController

使用 MPMusicPlayerController 时无法修改 MPRemoteCommandCenter 操作