Сбой приложения при попытке использовать VideoView - PullRequest
0 голосов
/ 04 мая 2011

Я только что начал возиться с android dev, и я пытаюсь просто воспроизвести видеофайл, который находится где-то в сети.Мой файл Main.xml выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="vertical"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
    >
    <Button android:layout_height="wrap_content" android:id="@+id/button1" android:layout_width="wrap_content" android:text="@string/buttonText" android:onClick="clickHandler"></Button>
    <VideoView android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/MyVideoView"></VideoView>
</LinearLayout>

, а мой файл Java выглядит следующим образом: package com.dop.videoTest;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;


public class VideoTest extends Activity {
    private String path = "http://commonsware.com/misc/test2.3gp";
    private VideoView mVideoView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void clickHandler(View view)
    {
        mVideoView = (VideoView) findViewById(R.id.MyVideoView);

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

        } else {
            mVideoView.setVideoPath(path);
            mVideoView.setMediaController(new MediaController(this));
            mVideoView.requestFocus();
        }
    }
}

, поэтому, когда я нажимаю кнопку,«Тест видео приложения неожиданно остановлен. Пожалуйста, попробуйте еще раз».

Есть идеи?

1 Ответ

2 голосов
/ 04 мая 2011

Путь в вашем коде

private String path = "http://commonsware.com/misc/test2.3gp";

VideoView для этого потребуется доступ в Интернет. Скорее всего, вы не установили интернет-разрешение в манифесте. Одна из причин, почему это происходит, заключается в том, что ваше приложение пытается получить доступ к чему-то, что требует явного разрешения в манифесте.

Интернет-разрешение может быть установлено как:

< uses-permission android:name="android.permission.INTERNET" />

Проверьте эту ссылку: Документация по манифесту Android

...