1

서버에서 노래를 스트리밍하고 싶었습니다.이 방법으로 효과가있는 것처럼 보이지만이 방법으로는 불가능한 몇 가지 사항이 있습니다.iOS : 라이브 스트리밍 AVPlayer

나는 현재 AVPlayer를

player = [[AVPlayer alloc] initWithURL:[NSURL URLWithString:@"http://media.soundcloud.com/stream/songID?stream_token=myToken"]]; 

을 인스턴스화 그리고 내 응용 프로그램이 충분하다고 버퍼하다고 인정하는 때에 플레이라고했습니다.

이 소리는 완벽하게 재생되지만 AVPlayer 인스턴스를 가리 키지 않으면 플레이어가 멈추고 응용 프로그램을 백그라운드로 밀면 소리가 사라지고 응용 프로그램이 다시 돌아올 때까지 일시 중지됩니다. 전경.

노래를 AVPlayer로 백그라운드에서 계속 재생할 수 있습니까?

그렇지 않은 경우 HTTP Live Streaming을 사용해야합니까?

저는 iOS의 측면에서 매우 새로워서 동료 SO-ers가 제공 할 수있는 모든 지침에 크게 감사드립니다!

답변

8

앱이 백그라운드에서 오디오를 재생하도록 명시 적으로 설정해야합니다.

<key>UIBackgroundModes</key> 
<array> 
    <string>audio</string> 
</array> 

(reference)는 오디오 재생을 시작하기 전에

은 또한 다음 줄을 추가합니다 :

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:NULL]; 

(reference)

+0

오! 나는 재산 목록 조금을 놓치고 있었다. 이미 오디오 세션 카테고리를 설정하려했지만 아무 소용이 없었습니다. 고맙습니다! – RileyE

+0

답변으로 표시 할 수 없습니다. 그러나 다시 한번, 빠른 답장과 참고 사항에 대해 다시 한번 감사드립니다. – RileyE

+0

@RileyE 안녕하세요. –

0
을의 Info.plist 파일에 다음과 같은 키를 삽입

기술 Q & A QA1668 AV Foundation을 사용하여 백그라운드에서 미디어 재생 중 o n iOS

Q : 응용 프로그램이 백그라운드에서 AV Foundation을 사용할 때 미디어가 계속 재생되도록하려면 어떻게합니까?

A : 앱이 백그라운드에서 음성 콘텐츠를 재생한다고 선언하고 오디오 세션에 적절한 카테고리를 지정해야합니다. 비디오 미디어 특별 고려 사항을 참조하십시오. [배경

첫째로, 응용 프로그램이 특정 백그라운드 서비스를 제공하고 배경에있는 동안 계속 실행 할 수 있어야합니다 선언하면서

앱이 선언은 가청 내용을한다. 이렇게하려면 앱의 Info.plist 파일에 UIBackgroundModes 키를 추가하십시오. 이 값은 응용 프로그램에서 지원하는 백그라운드 작업을 식별하는 하나 이상의 문자열을 포함하는 배열입니다.

그림 1 응용 프로그램이 백그라운드에서 청취 가능한 콘텐츠를 재생한다고 선언합니다. 응용 프로그램이 백그라운드에서 청취 가능한 콘텐츠를 재생하도록 지정합니다.

중요 : UIBackgroundModes 오디오 키를 사용하면 앱이 AirPlay를 사용하여 백그라운드에서 미디어 콘텐츠를 스트리밍 할 수도 있습니다 (비디오 미디어 특별 고려 사항 참조).