VideoView в затмении не играет на телефоне - PullRequest
1 голос
/ 08 августа 2011

Я положил видео в окне eclipse для приложения для Android, но видео не будет воспроизводиться на моем телефоне.

package test.test;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;


public class graphics extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    VideoView videoView = (VideoView) findViewById(R.id.test);
    MediaController mediaController = new MediaController (this);
    mediaController.setAnchorView(videoView);
    Uri video = Uri.parse("http://commonsware.com/misc/test2.3gp");
    videoView.setMediaController(mediaController);
    videoView.setVideoURI(video);
    videoView.start();

    }
} 

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Я думаю, что проблема заключается либо в подключении (http), либо в использовании VideoView.

Чтобы узнать, является ли проблема с подключением, вы можете попробовать воспроизвести мультимедийный контент, локальный для телефона, например, с SD-карты.

Проблемы также возникают при использовании VideoView

Класс VideoView использует SurfaceView и MediaPlayer для воспроизведения видео.MediaPlayer имеет API для установки URL, подготовки медиа-конвейера, запуска конвейера и т. Д. Но прежде чем конвейер может быть запущен;трубопровод должен быть готов, т. е. в состоянии предварительной подготовки.Чтобы уведомить приложение об этом, MediaPlayer предоставляет слушателей.В этом случае это onPrepareListener.VideoView, который взаимодействует с MediaPlayer, также (должен?) Также предоставляет этих слушателей.

Посмотрите код ниже для активности VideoPlayer, которая использует VideoView для воспроизведения.(Проверено только для локального контента) Это действие принимает абсолютный путь к файлу для воспроизведения из намерения.(передано из списка активности)

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.MediaController;
import android.widget.VideoView;


public class VideoPlayer extends Activity implements OnCompletionListener, OnPreparedListener {
    private static VideoView vView;
    private String filePath;
    public static long clipDurationMS; 
    private View        mLoadingIndicator; 

    public void onCreate(Bundle savedInstanceState)     
    {
        super.onCreate(savedInstanceState);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);

        vView = (VideoView)findViewById(R.id.VideoView01);
        mLoadingIndicator = findViewById(R.id.progress_indicator); 

        vView.setBackgroundColor(0x0000); 

        Intent intent = getIntent();
        Bundle extras = intent.getExtras();
        filePath = (String)extras.get("URL");

        vView.setVideoPath(filePath);  

        MediaController mc;
        mc = new MediaController(this);
        vView.setMediaController(mc);

        vView.requestFocus();
        vView.setOnCompletionListener(this);
        vView.setOnPreparedListener(this);
    }

    public void onCompletion(MediaPlayer arg0) 
    {
        finish();   
    }

    public void onPrepared(MediaPlayer arg0) 
    {
        mLoadingIndicator.setVisibility(View.GONE);
        ViewGroup.LayoutParams params;

        params        = vView.getLayoutParams();

        params.height = arg0.getVideoHeight();
        params.width  = arg0.getVideoWidth();

        vView.setLayoutParams(params);

        vView.start(); 
    }

    public void onStop(){
        super.onStop();
        vView.stopPlayback();
        finish();
    }
}

Shash

0 голосов
/ 08 августа 2011

Проверьте, подключен ли ваш телефон к интернет-соединению или нет. На мой взгляд, это может быть проблемой, потому что вы пытаетесь воспроизвести видео с Uri.

...