Ich habe eine URL. Es sieht wie folgt aus:Streaming .mp3 mit AVURLAsset + AVPlayerItem + AVPLayer
https://content.stage.someCompany.net/deliveries/artistNameHere/songNameHere-128.mp3?Expires=someNumberHere&Signature=someReallyReallyReallyLongStringHere&Key-Pair-Id=someIdHere
Lassen Sie mich brechen sie in Stücke:
https://content.stage.someCompany.net/deliveries/artistNameHere/songNameHere-128.mp3
?Expires=someNumberHere
&Signature=someReallyReallyReallyLongStringHere
&Key-Pair-Id=someIdHere
Wie Sie sehen, es ist nur ein besserer .mp3 zu 128 kbps begrenzt, mit einem gewissen Sicherheits Sachen am Ende .
Wenn ich es in Safari auf meinem Mac lade, wird es abgespielt. Wenn ich es an einen AVPlayer-Konstruktor in meiner iOS-App übergebe, wird es ebenfalls abgespielt.
Wenn ich es jedoch verwende, um ein AVURLAsset zu erstellen, meldet es, dass .isPlayable falsch ist. Wenn ich hartnäckig darauf beharre, basierend auf diesem Asset ein AVPlayerItem zu erstellen, wird AVPlayerItemStatusFailed gemeldet.
Unnötig zu sagen, dass unter diesen Bedingungen meine AVURLAsset + AVPlayerItem + AVPLayer-Infrastruktur, die in player.play() gipfelt, tatsächlich keine Musik spielt.
Allerdings ist es erfolgreich zu spielen, wenn ich andere URLs ersetzen, wie Apples eigene https://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8
oder
(einige zufällige .mp3 von einem anderen Stackoverflow Thema) http://podcast.cbc.ca/mp3/podcasts/asithappens_20160907_50906.mp3
Die Unterschiede, die ich sehe: Apples URL ist in der Tat eine "Playlist" irgendeiner Art, während die zweite in einer Ebene "zivilisiert" .mp3 ist. Kein Sicherheitsmambo-Jumbo mehr am Ende der Verbindung.
Warum wird meine URL nicht abgespielt? Muss ich etwas Bestimmtes mit dem Sicherheitsmaterial tun? Im Moment bin ich nur naiv "hey, AVURLAsset ... hier ist meine (vollständige) URL ... mach deine Sachen damit ..."
Nun, die Arbeitsproben, die Sie zur Verfügung gestellt haben, hatten keine URL-Attribute. Wird Ihre Anfrage vom Webserver oder etwas anderem umgeleitet und verweist nicht direkt auf die Datei? – Lepidopteron