我正在开发一个小项目,该项目使用videoView在应用程序内显示.3GP视频文件。我的代码可以在模拟器中正常工作,但在物理设备(三星Nexus S)上,它只能在WiFi上运行并在3G上超时。以下是我正在使用的代码
public class VideoViewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.videoplayer);
Bundle info = getIntent().getExtras();
String path = info.getString("link");
VideoView videoView = (VideoView) findViewById(R.id.videoView);
MediaController mediaController = new MediaController(this);
mediaController.setMediaPlayer(videoView);
videoView.setVideoPath(path);
videoView.setMediaController(mediaController);
videoView.requestFocus();
videoView.start();
mediaController.show();
下面的XML文件
<?xml version="1.0" encoding="utf-8"?>
<VideoView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/videoView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
这是WiFi和3G的logcat
过3G(不起作用)
D/MediaPlayer( 6984): Couldn't open file on client side, trying server side
I/AwesomePlayer( 81): setDataSource_l('http://url.com/ski/famous.
3gp')
V/ChromiumHTTPDataSource( 81): connect on behalf of uid 10111
I/ChromiumHTTPDataSource( 81): connect to http://url.com/ski/famo
us.3gp @0
I/ActivityManager( 150): Displayed com.madarasan.SkiDroid/.VideoViewActivity: +
82ms
I/ChromiumHTTPDataSourceSupport( 81): OnReadCompleted, read failed, status 4
E/NuCachedSource2( 81): source returned error -1004, 10 retries left
D/ConnectivityService( 150): handleInetConditionHoldEnd: net=0, condition=100,
published condition=0
通过WiFi(工作)
D/MediaPlayer( 6984): Couldn't open file on client side, trying server side
I/AwesomePlayer( 81): setDataSource_l('http://url.com/ski/famous.
3gp')
V/ChromiumHTTPDataSource( 81): connect on behalf of uid 10111
I/ChromiumHTTPDataSource( 81): connect to http://url.com/ski/famo
us.3gp @0
I/ActivityManager( 150): Displayed com.madarasan.SkiDroid/.VideoViewActivity: +
128ms
I/OMXCodec( 81): [OMX.SEC.MPEG4.Decoder] video dimensions are 320 x 240
是否有任何理由使用videoView无法通过3G工作?我用错了吗?是否有更好/更简单的方式在Android中显示视频?我不介意使用其他文件类型3GP只是一个例子。
非常感谢任何帮助。谢谢。
答案 0 :(得分:-1)
你有没有试过更多的wifi连接甚至其他3G连接(其他运营商),可能是你3G网络的代理..
相关: http://forum.xda-developers.com/showthread.php?p=27017072
似乎贵公司存在一些网络问题。