2013-04-03 107 views
-2

在我的应用程序中,我想从url流式传输视频。视频播放完美。当用户点击该webview时,重定向到视频的网址并显示警告对话框“完成操作使用”,用户可以通过点击Internet.I选项来下载该视频。我想限制这意味着用户只能观看该视频,但可以没有下载。我希望用户使用Android默认播放器观看该视频。提前致谢。在android中使用webview进行视频流式传输


public class PlayVideo extends Activity { 

    private String vUrl, vName; 
    private WebView webView; 
    Button back, home; 
    TextView videoName; 
    Vibrator vibrator; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     // For full screen 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     setContentView(R.layout.videoplay); 
     webView = (WebView) findViewById(R.id.webView01); 
     back = (Button) findViewById(R.id.bBack); 
     home = (Button) findViewById(R.id.bHome); 
     videoName = (TextView) findViewById(R.id.tvVidName); 
     // for vibration when a button clicked 
     vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
     // getWindow().setFormat(PixelFormat.TRANSLUCENT); 

     back.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       vibrator.vibrate(40); 
       finish(); 
      } 
     }); 


     vName = getIntent().getStringExtra("videoname"); 
     videoName.setText(vName); 
     vUrl = getIntent().getStringExtra("vid_url"); 
     webView.setWebChromeClient(new WebChromeClient()); 
     webView.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND); 
     webView.getSettings().setJavaScriptEnabled(true); 
     Log.i("fired url", vUrl); 
     webView.loadUrl(vUrl); 
    } 

} 




    

     

      

      
     

     

     
    

回答

0

您可以通过启动特定的应用程序来传输视频。

但要注意:

  • 用户只有1合适的视频应用程序,将不会看到对话框。
  • 另外, 已设置默认视频应用程序的用户也不会看到对话框 。

因此,我不会限制自己,通过启动特定的视频应用程序,而让android用户有一个不错的android体验。

应该你有很好理由来启动特定的视频播放器,你可以使用:

try { 
    Intent intent = new Intent("com.mxtech.videoplayer.ad"); // Will launch MX player 
    intent.setDataAndType(Uri.parse("your_path"), "video/*"); 
    startActivity(intent); 
} catch(ActivityNotFoundException e){ 
    // the app mxplayer was not found... 
    Toast.makeText(this, "mx player is not installed", Toast.LENGTH_SHORT).show(); 
} 
相关问题