2011-07-25 85 views
3

我想用AVPlayer播放遥控器的mp3。我无法使它工作,我看不到它不起作用的原因。代码:AVPlayer不能播放

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

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

+0

您的代码中存在拼写错误:代码中的[NSURL URLWIthString:urlstr]而不是[NSURL URLWithString:urlstr] – onnoweb

+0

是可以的。错字只是在这里。我的错。 –

+0

你能举一个你正在使用的网址的例子吗?请注意,它必须是mp3文件或其他类型的文件,而不是嵌入了MP3的HTML文件。 –

回答

9

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

NSString *[email protected]"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方法:

NSURL *url = [NSURL fileURLWithPath:urlstr]; 
0

的NSURLConnection的类,不管URL是本地的还是远程的,应始终使用每当网址被关注到。这是加载AVPlayerItem或AVAsset的唯一线程安全的非侵入性手段。请记住:您的应用与其他应用共享iPhone;而且,这是负责任的隐藏方式。