Работя върху малък проект, който използва 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_width="fill_parent"
android:layout_height="fill_parent"
/>
А ето и logcat за WiFi и 3G
Над 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 беше само пример.
Всяка помощ ще бъде високо оценена. Благодаря ти.