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
, 그것은이 128kbps로 제한 단지 영광 .MP3 마지막에 몇 가지 보안 물건이야 .
Mac에서 Safari로로드하면 재생됩니다. 내 IOS 응용 프로그램에서 AVPlayer 생성자에 전달하면 잘 재생됩니다.
그러나 AVURLAsset을 만들 때 .isPlayable이 false라고보고합니다. 해당 자산을 기반으로 AVPlayerItem을 계속 작성할 때까지 계속 고집하지 않으면 AVPlayerItemStatusFailed가보고됩니다.
물론 이러한 조건에서 player.play()로 끝나는 AVURLAsset + AVPlayerItem + AVPLayer 인프라는 실제로 음악을 재생하지 않습니다. 내가 (다른 유래 항목에서 어떤 임의의 .MP3) 애플의 https://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8
또는
같은 다른 URL을 대체 할 경우그러나, 그것은 성공적으로 http://podcast.cbc.ca/mp3/podcasts/asithappens_20160907_50906.mp3
내가 볼의 차이를 재생 않습니다 애플의 URL은 사실 일종의 '플레이리스트'이며, 두 번째는 평범하고 문명화 된 .mp3이다. 링크가 끝날 때 더 이상 보안 맘보 - 점보.
내 URL이 재생되지 않는 이유는 무엇입니까? 보안 관련 내용을 구체적으로해야합니까? 바로 지금, 나는 순진하게 "안녕하세요, AVURLAsset ... 여기 내 전체 URL이 있습니다 ... 물건을 함께 사용하십시오 ..."
제공하신 작업 샘플에는 URL 속성이 없습니다. 귀하의 요청이 웹 서버 또는 다른 어떤 것으로 방향이 바뀌고 파일을 직접 가리키고 있지 않습니까? – Lepidopteron