我使用Android VideoView通过HTTP播放视频文件.我的问题是我的手机提示"无法播放视频抱歉,此视频无法播放." 从HTTP播放mp4文件时.但是播放另一个mp4视频文件时可以.
在三星Galaxy S等新手机中使用时,我的程序可以成功播放来自HTTP的mp4视频文件.
我的手机:
Samsung GT-S5830
Android version: 2.3.4
Display: 320x480.
Video file 1 (OK):
Video Codec: H.264
Resolution: 640x360
Others: 16:9, 340kbps, 29.92fps
Audio Codec: AAC, 44kHz 96kbps Stereo.
Video file 2 (Fail):
Video Codec: H.264
Resolution: 640x360
Others: 16:9, 993kbps, 25fps
Audio Codec: AAC 44kHz 125kbps Stereo.
Run Code Online (Sandbox Code Playgroud)
下面是我的代码,硬编码成功播放视频文件1.
public class VideoPlayActivity extends Activity {
VideoView vv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
//getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
vv = new VideoView(this);
RelativeLayout.LayoutParams param1 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); …Run Code Online (Sandbox Code Playgroud) 我需要制作一个应用程序播放带有全屏视频按钮的视频.该按钮用于在视频显示的横向和纵向之间手动切换.我们不希望自动旋转检测.因此Manifest文件设置如下.
<activity
android:name=".VideoActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden"/>
Run Code Online (Sandbox Code Playgroud)
我用了
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); 要么 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
手动设置方向.它工作但它重新启动活动 - 发现onCreate()被调用.因此视频播放意外地从头开始重新开始.我不能像使用一样平滑onConfigurationChanged()- 自动旋转检测方法.
那么如何在不重新启动活动的情况下更改手动屏幕方向?
谢谢.