2015-01-17 2 views
0

Chromecast's documentation에서 Chromecast는 HLS 스트림을 지원한다고 명시되어 있습니다. 그러나 나는 그것을 작동하게 만들 수 없다.Chromecast는 Apple HLS를 지원하나요?

하나의 버튼이 재생을 시작하는 간단한 앱을 만들었습니다. MP4 파일의 경우 HLS 스트림에는 적합하지 않지만 잘 작동합니다. 스트림을 시작하는 방법은 다음과 같습니다.

btnStart.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 
    String url = "http://planeta-online.tv:1935/vod/mp4:tvt.russia.time_laps_in_st_piter.flv/manifest.m3u8"; 
    MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE); 
    movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, "Subtitle"); 
    movieMetadata.putString(MediaMetadata.KEY_TITLE, "Title"); 
    movieMetadata.putString(MediaMetadata.KEY_STUDIO, "Studio"); 
    movieMetadata.addImage(new WebImage(Uri.parse("http://cdn.planeta-online.tv/kp/app/icons/i5.png"))); 
    movieMetadata.addImage(new WebImage(Uri.parse("http://cdn.planeta-online.tv/kp/app/icons/i5.png"))); 

    MediaInfo mSelectedMedia = new MediaInfo.Builder(url) 
    .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED) 
    .setContentType("application/vnd.apple.mpegurl") 
    .setMetadata(movieMetadata) 
    .build(); 

    mVideoCastManager.startCastControllerActivity(MainActivity.this, mSelectedMedia, 0, true); 
    } 
    }); 

Wowza에서이 스트림에 CORS를 사용할 수 있지만 도움이되지 않았습니다. 스트림 유형을 MediaInfo.STREAM_TYPE_BUFFERED에서 MediaInfo.STREAM_TYPE_LIVE으로 변경해도 아무런 영향이 없습니다. 다른 아이디어?

답변

4

어떤 수신기를 사용하고 있습니까? 기본 수신기 또는 스타일 수신기를 사용할 수 있습니다. 그들은 둘 다 HLS를 지원합니다. 적응 형 스트림 처리는 Media Player Library (MPL)에 의해 처리되며 사용자 정의 수신기를 작성하려면 해당 라이브러리를 사용해야합니다. 우리는 sample을 가지고 있습니다.

+0

스타일 리시버를 사용했지만 문제는 실제로 이전 버전의 Wowza에서 발생했습니다. 우리는 그것을 업그레이드했고 이제는 완벽하게 작동합니다! :) –

+0

@ VadimGuzev 어느 버전으로 얘기하고 있는지 물어봐도 될까요? http://stackoverflow.com/questions/42901869/cast-devices-freeze-when-casting-audio-streams에서 관련 문제가 있는지 궁금합니다. –

0

스트림의 contentType"video/m3u" 또는 "video/m3u8" (형식에 따라 다름)으로 설정하면 기본 수신기가있는 HLS 스트림에서 작동하는 것으로 나타났습니다.