Простите, если это вопрос новичка, но...
При воспроизведении видео лучше использовать VideoView/MediaPlayer или лучше использовать намерение.ACTION_VIEW и позволить пользователю выбирать свой медиаплеер?
Видео, которые мне нужно воспроизвести, представляют собой очень большие файлы mp4 (20–50+ мегабайт), которые не оптимизированы для мобильных устройств. У меня проблемы с буферизацией при использовании VideoView/MediaPlayer. Однако, когда я использую намерение.ACTION_VIEW, я могу использовать что-то вроде RealPlayer, который лучше справляется с буферизацией (по крайней мере, в моем случае). Кроме того, RealPlayer и другие проигрыватели, которые я пробовал, обрабатывают изменения ориентации без перезапуска видео, как это делают VideoView/MediaPlayer. Однако я не знаю, является ли этот второй подход «приемлемым» с точки зрения взаимодействия с пользователем.
Вот код для моего подхода VideoView/MediaPlayer:
XML:
<VideoView android:id="@+id/videoView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
Ява:
public class VideoViewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
VideoView videoView = (VideoView) findViewById(R.id.videoView);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
Uri video = Uri.parse("http://www.my.big.video.com/video.mp4");
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
}
И вот код для моего второго подхода:
Ява:
public class VideoViewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String videoUrl = "http://www.my.big.video.com/video.mp4";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(videoUrl));
startActivity(i);
}
Предложения?