Android videoView over 3G 连接

Posted

技术标签:

【中文标题】Android videoView over 3G 连接【英文标题】:Android videoView over 3G connection 【发布时间】:2011-12-24 14:25:48 【问题描述】:

我正在开发一个使用 videoView 在应用程序中显示 .3GP 视频文件的小项目。我的代码在模拟器中运行良好,但在物理设备(Samsung 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_
android:layout_
/>

这是 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 只是一个示例。

任何帮助将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

您是否尝试过更多 wifi 连接甚至其他 3G 连接(其他运营商),可能是您 3G 网络的代理..

相关: http://forum.xda-developers.com/showthread.php?p=27017072

您的公司似乎存在一些网络问题。

【讨论】:

以上是关于Android videoView over 3G 连接的主要内容,如果未能解决你的问题,请参考以下文章

Android 中的 RTSP 客户端

Android 视频播放器 :使用VideoView播放视频

Android 7 上的 VideoView 错误

Android开发之使用VideoView播放视频

Android VideoView 在 stopPlayback() 后清除显示

android 修改videoview的宽度和高度