0

こんにちは私はAndroid携帯で.3GPビデオファイルを再生したいです。以下のコードを試しましたが、ビデオを再生できません。何をするか教えてください

これは私のコードです

 public class VideoPlay extends Activity {

private String path ;
private VideoView mVideoView;

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.videoplay);
    path="http://www.boodang.com/api/videobb/101009_Pure.3gp";
    mVideoView = (VideoView) findViewById(R.id.video);

    if (path == "") {
        // Tell the user to provide a media file URL/path.
        Toast.makeText(
                VideoPlay.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();

    }
}
}

XMLレイアウトは

  <?xml version="1.0" encoding="utf-8"?>
  <FrameLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
  <VideoView
  android:id="@+id/video"
   android:layout_width="320px"
   android:layout_height="240px">
   </VideoView>
   </FrameLayout>
4

3 に答える 3

2

AndroidSDKデモにある次のコードを確認してください

package com.example.android.apis.media;

import com.example.android.apis.R;

import android.app.Activity;

import android.os.Bundle;

import android.widget.MediaController;

import android.widget.Toast;

import android.widget.VideoView;

public class VideoViewDemo 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(
                    VideoViewDemo.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();

        }
    }
}

videoview.xml

<VideoView 
    android:id="@+id/surface_view" 
    android:layout_width="320px"
    android:layout_height="240px"
/>

于 2011-01-27T15:25:25.960 に答える
0

この記事でvideo.startは、サンプルと同様のコードを提供しますが、特にサンプルが完全に欠落している場合は、いくつかの違いがありますMediaController.show

コードを少しクリーンアップして、前述の記事にある提案を試してみることをお勧めします。記事のディスカッションにもいくつかの良いフィードバックがあります。

于 2011-01-27T15:18:23.913 に答える
0

@Peter Lillevoldが示唆しているように、最初にビデオプレーヤーのリファレンス実装を試す必要があります。ここにいくつかのリンクがあります:

既知の動作するビデオファイルでこれらのプレーヤーを試してください。この投稿にいくつかへのリンクがあります。プレーヤーを実装し、これらの参照ビデオが機能するが、.3gpビデオが機能しない場合、問題はビデオファイル自体が標準にエンコードされていないことである可能性があります。

于 2011-01-27T15:36:11.513 に答える