AVPlayer无法播放。

3

我想使用AVPlayer播放远程mp3。但是无法使其工作,也不知道出现问题的原因。代码:

NSString *urlstr=@"..some link to a mp3"
NSURL *url=[NSURL URLWithString:urlstr];
self.player = [[[AVPlayer alloc] initWithURL:url] retain];
[player play];

链接有效。如果我在webView中加载它,它会立即播放。 请帮忙。

你的代码中有一个拼写错误:[NSURL URLWIthString:urlstr]应该是[NSURL URLWithString:urlstr]。 - onnoweb
在代码中没问题,这是我的错误,打错了。 - Alex Tau
你能给一个你正在使用的URL的例子吗?请注意,它必须是指向MP3文件或类似的内容,而不是嵌入了MP3的HTML文件。 - Alex Nichol
http://www.astation.fm/mp3/song.mp3 这是一个示例,类似于这样。 - Alex Tau
你好,用户282045,你解决了这个问题吗?我也遇到了这个问题。 - gypsicoder
3个回答

9
我已经得到了一个解决方案。请尝试以下代码:

我有一个解决方案。请尝试以下代码:

NSString *urlstr=@"http://www.3rdeyelab.com/mp3/mp3/tailtoddle_lo.mp3"
NSURL *url=[NSURL URLWithString:urlstr];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:url];
player = [[AVPlayer playerWithPlayerItem:playerItem] retain];
[player play];
player.actionAtItemEnd = AVPlayerActionAtItemEndNone; 

希望这对你有用!

1
如果您使用本地链接作为URL,那么您应该使用fileURLWithPath方法来初始化URL:
NSURL *url = [NSURL fileURLWithPath:urlstr];

0
无论 URL 是本地还是远程,都应该始终使用 NSURLConnection 类来处理。它是唯一线程安全、非侵入式的加载 AVPlayerItem 或 AVAsset 的方式。请记住:您的应用程序与其他应用程序共享 iPhone;这是负责任的方式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接