使用本机媒体播放器从服务器流式传输视频。
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType("URL TO VIDEO", "video/mp4");
startActivity(i);
它会成功地在午餐视图中显示已安装的玩家。但问题是当我播放视频时。默认情况下,它不会让我更改方向为横向。是不是我能做到的。 提前谢谢。
答案 0 :(得分:0)
我不确定你是否可以这样做,因为你正在打开第三方应用来播放你的视频,可能是那个播放器没有为你提供控制来处理代码的方向。
您可以通过以下代码
获得结果创建布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frameLayoutRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<VideoView
android:id="@+id/surfaceViewFrame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center">
</VideoView>
</RelativeLayout>
现在创建一个新的活动/ playeractivity并在setcontent视图中设置上述布局
//In OnCreate
VideoView videoView = (VideoView)findViewById(R.id.surfaceViewFrame);
videoView.setVideoURI(Uri.parse(yoururl/local/server));
videoView.start();
progressBarWait.setVisibility(View.VISIBLE);
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(final MediaPlayer mp) {
mp.start();
mp.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mediaPlayer, int i, int i2) {
// Log.e(TAG, "Changed");
progressBarWait.setVisibility(View.GONE);
mp.start();
}
});
}
});
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
finish();
}
});
在Menifest.xml中以方向取消您的活动
<activity android:name=".YourPlayerActivity"
android:screenOrientation="portrait/landscape"/>