2013-11-28 72 views
2

我試圖在videoView上添加隱藏式字幕,並找到了解釋做什麼的youtube clipandroid kitkat videoView.addSubtitleSource

在KitKat中,他們添加了一個新功能videoView.addSubtitleSource,它添加了一個包含字幕的webvtt文件。 我無法得到這個工作。

有沒有人得到這個工作?你可以分享一個如何做的工作例子嗎?

在此先感謝。

回答

3

您應該首先通過菜單 - >設置 - >輔助功能 - >標題啓用「關閉標題」,確保打開它。

然後你需要添加代碼來調用API來設置WebVTT插入源看起來象下面這樣:

private void showVideo(String path) 
{ 
    Log.e(TAG, "showVideo"); 
    Uri uri = Uri.parse(path); 
    mMc = new MediaController(this); 

    mVideoView.setMediaController(mMc); 
    mVideoView.setVideoURI(uri); 
    mVideoView.addSubtitleSource(getSubtitleSource(path), 
      MediaFormat.createSubtitleFormat("text/vtt",Locale.ENGLISH.getLanguage())); 

    mVideoView.start(); 
} 

private InputStream getSubtitleSource(String filepath) { 
    InputStream ins = null; 
    String ccFileName = filepath.substring(0,filepath.lastIndexOf('.')) + ".vtt"; 
    File file = new File(ccFileName); 
    if (file.exists() == false) 
    { 
     Log.e(TAG,"no close caption file " + ccFileName); 
     return null; 
    } 
    FileInputStream fins = null; 
    try { 
     fins = new FileInputStream(file); 
    }catch (Exception e) { 
     Log.e(TAG,"exception " + e); 
    } 
    ins = (InputStream)fins; 
    return ins; 
} 

然後,你應該看到您的視頻顯示在您的WebVTT插入關閉標題文本。

當然你可以使用MediaPlayer類來做到這一點! 以上代碼使用VideoView API供您參考!