0

私のアプリには、単純な html をロードする WebView があります。ただし、このhtmlはrtspライブビデオストリームにリンクしており、WebViewはそれをロードできますが、1つのビデオをクリックすると、プレーヤーをロードしていると表示されますが、しばらくすると「このビデオを再生できません..ネイティブの Android ブラウザーで rtsp リンクを開くと、読み込まれて正常に動作するので、互換性のないビデオ ストリームではないことがわかります.rtsp ビデオ ストリームを再生できるように有効にできるものは WebView 内にありますか?私は両方でこれを試しましたエミュレーターとオリジナルのデバイス。

public class MainActivity extends Activity 
{
private Button button;
public void onCreate(Bundle savedInstanceState) 
{
    final Context context = this;
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    button = (Button) findViewById(R.id.buttonUrl);
    button.setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View arg0) 
        {
            Intent intent = new Intent(context, WebViewActivity.class);
            startActivity(intent);
        }

    });

}

}

public class WebViewActivity extends Activity 
{
    private WebView webView;

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);

    webView = (WebView) findViewById(R.id.webView1);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadUrl("http://myurl.com/");
}

}

4

1 に答える 1

1

次を使用して、ストリームをビデオプレーヤーにリダイレクトできました。

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.startsWith("rtsp")) {
            Uri uri = Uri.parse(url);
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            startActivity(intent);
            return true;
        }
        return super.shouldOverrideUrlLoading(view, url);
    }
});
于 2014-10-09T13:54:31.673 に答える