2015-01-17 85 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); 
    } 
    }); 

我啓用CORS這個流在Wowza,但它沒有幫助。改變StreamType從MediaInfo.STREAM_TYPE_BUFFEREDMediaInfo.STREAM_TYPE_LIVE也沒有任何影響。任何其他想法?

回答

4

你在用什麼接收器?您可以使用默認接收器或Styled接收器;他們都支持HLS。自適應流的處理由Media Player Library(MPL)處理,如果您想編寫自己的自定義接收器,則需要使用該庫;我們有一個sample這樣做。

+0

我使用了Styled接收器,但問題實際上是在舊版本的Wowza中。我們已經升級了它,現在它完美的工作! :) –

+0

@VadimGuzev我可以問我們在哪個版本的哪個版本?我想知道是否在http://stackoverflow.com/questions/42901869/cast-devices-freeze-when-casting-audio-streams中看到一些相關問題。 –

0

我發現流的contentType設置爲"video/m3u""video/m3u8"(取決於您的格式)工作了我的HLS與默認接收流。