2011-07-25 13 views
3

AVPlayerでリモートmp3を再生したい。私はそれを機能させることができず、なぜ機能しないのかわからない。コード:AVPlayer Can not Play

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

リンクは有効です。私はそれをすぐに再生webViewで読み込む場合。 助けてください。

+0

コードにtypoがあります:[NSURL URLWithString:urlstr]の代わりに[NSURL URLWIthString:urlstr] – onnoweb

+0

のコードは大丈夫です。タイプミスはここだけです。私の間違い。 –

+0

あなたが使っているURLの例を挙げることはできますか? 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

あなたはfileURLWithPathメソッドでURLを開始する必要がありますので、あなたは、URLとしてローカルリンクを使用する場合:

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

NSURLConnectionクラスに関係なく、URLがローカルかリモートかを、常にいつでもURLを使用する必要があります心配している。これは、スレッドセーフでAVPlayerItemまたはAVAssetをロードする非侵入型の手段です。覚えておいてください:あなたのアプリは他のアプリとiPhoneを共有します。そして、これは責任を負う方法です。