2017-05-03 12 views
0

私はURLを持っています。それは次のようになります。AVURLAsset + AVPlayerItem + AVPLayerで.mp3をストリーミングする

https://content.stage.someCompany.net/deliveries/artistNameHere/songNameHere-128.mp3?Expires=someNumberHere&Signature=someReallyReallyReallyLongStringHere&Key-Pair-Id=someIdHere 

は私がバラバラにそれを打破してみましょう:

https://content.stage.someCompany.net/deliveries/artistNameHere/songNameHere-128.mp3 

?Expires=someNumberHere 

&Signature=someReallyReallyReallyLongStringHere 

&Key-Pair-Id=someIdHere 

あなたが最後にいくつかのセキュリティのもので、それは128 kbpsに制限されただけで見せかけ.MP3だ、見ることができるように。

MacのSafariで読み込んだ場合、再生されます。私がiOSアプリケーションのAVPlayerコンストラクタに渡すと、それも再生されます。

ただし、AVURLAssetを作成する場合は、.isPlayableがfalseであることが報告されています。その資産に基づいてAVPlayerItemをさらに作成し続けると、AVPlayerItemStatusFailedが報告されます。

言うまでもなく、これらの条件で、私のAVURLAsset + AVPlayerItem + AVPLayerインフラストラクチャは、player.play()で最高に達し、実際には音楽を再生しません。私はAppleの独自のhttps://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8

または

(別のstackoverflowのトピックからいくつかのランダムな.MP3)私が見http://podcast.cbc.ca/mp3/podcasts/asithappens_20160907_50906.mp3

違いのような他のURLを、置き換えた場合

しかし、それが正常に再生しません。 AppleのURLは、実際にはある種の「プレイリスト」であり、2番目のファイルはプレーンな「文明化された」.mp3です。リンクの終わりには、セキュリティはそれ以上はありません。

なぜ私のURLは再生されませんか?私はセキュリティのものに特化した何かをする必要がありますか?今、私はちょっとばかげていますね。AVURLAsset ... URL(URL全体)は...あなたのものにしてください... "

+0

あなたが提供した作業サンプルにはURL属性がありませんでした。あなたの要求はWebサーバーや他の何かによってリダイレクトされ、ファイルを直接指していませんか? – Lepidopteron

答えて

0

これを見つけました。

私が受け取るリンクは一度だけ有効です。明らかにそういうわけで、「セキュリティ」が彼らの最後にある理由です。

Safariでテストして「動作していることを確認」すると無効になります。その後、アプリの結果で同じものを試してみると、.isPlayable = falseになります。 アプリで直接使用する&を要求すると、結果は.isPlayable = trueになります。

AVURLAsset + AVPlayerItem + AVPLayerはうまく動作しています。私はちょうど血まみれのばかだった。

関連する問題