Я пытаюсь транслировать видео в формате mp4 с полноэкранным режимом, содержащим только видеопросмотр. Но хоть он и легко воспроизводит на моем galaxt s3, он не воспроизводит большинство устройств. Я подозреваю, что это связано с кодированием видео (кстати, вы должны быть гуру кодеков, чтобы знать, какое видео воспроизводится, а что нет).
Вот код, который я использую.
//make screen full with video
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
setContentView(R.layout.full_screen_video);
//get extra video source string
Intent intent = getIntent();
if(intent != null){
videoSrc = intent.getStringExtra(TefalTvApp.RECIPE_VIDEO_SOURCE);
if (DEBUG) {
Log.d(TAG, "Recipe title : " + videoSrc);
}
}
video = (VideoView) findViewById(R.id.recipeVideo);
controller = new MediaController(FullScreenVideoActivity.this);
controller.setMediaPlayer(video);
video.setMediaController(controller);
video.setVideoPath(videoSrc);
video.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if (DEBUG) {
Log.d(TAG, "Hello wworld");
}
}
});
video.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
video.requestFocus();
video.start();
}
});
Вот результат отладки. У вас есть URL-адрес видео в отладке.
08-23 23:25:53.349: D/RecipeDetailActivity(18179): Video src : http://www.tefaltv.com/Upload/Video/acticook_kiymalifasulye.mp4
08-23 23:25:53.379: I/ApplicationPackageManager(18179): cscCountry is not German : TUR
08-23 23:25:53.389: D/FullScreenVideoActivity(18179): Recipe title : http://www.tefaltv.com/Upload/Video/acticook_kiymalifasulye.mp4
08-23 23:25:53.399: D/VideoView(18179): onMeasure()
08-23 23:25:53.399: I/VideoView(18179): Setting size: 480x295
08-23 23:25:53.439: I/MediaPlayer(18179): uri is:http://www.tefaltv.com/Upload/Video/acticook_kiymalifasulye.mp4
08-23 23:25:53.439: I/MediaPlayer(18179): path is null
08-23 23:25:53.439: D/MediaPlayer(18179): Couldn't open file on client side, trying server side
08-23 23:25:53.519: D/VideoView(18179): onMeasure()
08-23 23:25:53.519: I/VideoView(18179): Setting size: 480x295
08-23 23:25:57.689: I/VideoView(18179): start()
08-23 23:25:57.739: D/VideoView(18179): onMeasure()
08-23 23:25:57.739: I/VideoView(18179): Setting size: 480x270
08-23 23:25:57.759: E/MediaPlayer(18179): error (1, -2147483648)
08-23 23:25:57.769: I/VideoView(18179): start()
08-23 23:25:57.779: E/MediaPlayer(18179): start called in state 0
08-23 23:25:57.779: E/MediaPlayer(18179): error (-38, 0)
08-23 23:25:57.799: E/MediaPlayer(18179): Error (1,-2147483648)
08-23 23:25:57.799: D/VideoView(18179): Error: 1,-2147483648
08-23 23:25:57.799: E/MediaPlayer(18179): Error (-38,0)
08-23 23:25:57.799: D/VideoView(18179): Error: -38,0
ОБНОВЛЕНИЕ: Сведения о кодировании видео: Формат: H.264, 624 x 351 AAC, 44100 Гц, стерео (L R) FPS: 25 Скорость передачи данных: 2,23 Мбит / с Текущий размер: 624 x 351 пикс.