Проблемы с образцом видеоплеера от разработчиков Android ... ¿как указать путь к видео? - PullRequest
0 голосов
/ 24 ноября 2011

Я пытаюсь воспроизвести видео с образцом видеоплеера от разработчиков Android: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/VideoViewDemo.html

У меня есть видео mp4 (1.mp4), хранящееся в папке активов, но я не знаю, как указать переменную пути, указывающую на этот файл

Это код, который у меня есть:

public class DemoVideoActivity extends Activity {

/**
 * TODO: Set the path variable to a streaming video URL or a local media
 * file path.
 */
private String path = "";
private VideoView mVideoView;

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.videoview);
    mVideoView = (VideoView) findViewById(R.id.surface_view);

    if (path == "") {
        // Tell the user to provide a media file URL/path.
        Toast.makeText(
                DemoVideoActivity.this,
                "Please edit VideoViewDemo Activity, and set path"
                        + " variable to your media file URL/path",
                Toast.LENGTH_LONG).show();

    } else {

        /*
         * Alternatively,for streaming media you can use
         * mVideoView.setVideoURI(Uri.parse(URLstring));
         */
        mVideoView.setVideoPath(path);
        mVideoView.setMediaController(new MediaController(this));
        mVideoView.requestFocus();

    }
}
}

1 Ответ

1 голос
/ 24 ноября 2011

ОК, это решение для видео из папки / res / raw , (На самом деле я получил его откуда-то в SO, и оно работает в моем случае)

  1. Скопируйте видео в папку res / raw вашего проекта.
  2. Видеофайл должен быть в поддерживаемом формате (3gp, wmv, mp4).
  3. Сделать ссылку через сгенерированную статику R - у нее будет удалено расширение файла: R.raw.my_video_file
VideoView videoView = (VideoView)this.findViewById(R.id.videoView)
String uri = "android.resource://" + getPackageName() + "/" + R.raw.my_video_file;
videoView.setVideoURI(Uri.parse(uri));
videoView.start();

И видео из актива Я никогда не пробовал этого, но, если вы используете MediaPlayer, то я думаю, что это поможет вам,

AssetFileDescriptor fileDes = getAssets().openFd(fileName); 
player.setDataSource(fileDes.getFileDescriptor(),fileDes.getStartOffset(), fileDes.getLength());

Здесь проигрыватель является объектом медиаплеера.

Спасибо.

...