VideoView 不会自动布局... (Android/Eclipse)
VideoView won't autolay... (Android/Eclipse)
首先,我不使用模拟器,因为我的 D270 不支持 运行,所以我只是将我的项目的 .apk 发送到我的 k012 来试用我的应用程序...
我的 VideoView 不会播放名为 'slideshow' 的视频,该视频应该会在我启动我的应用程序时播放...以下是我的视频的属性:
宽度:480,高度:360,帧率:30fps,长度:32s ...
我的视频(幻灯片)位于我的 res/raw 文件夹中...
试了很多方法还是不行...
P.S。我是新手 :D 谢谢你
这是我的代码:
activity_titlepage.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.cookdroid.MainActivity"
tools:ignore="MergeRootFrame" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:orientation="vertical" >
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_basicrecipes" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_appetizers" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_soups" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_riceandnoodles" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_fishandshellfish" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_meatandpoultry" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_vegetables" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_desserts" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_drinks" />
</LinearLayout>
<VideoView
android:id="@+id/videocatplayer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/linearLayout1"
/>
Recipecategories.java
package com.protosmack.thefoodofthephilippines;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.VideoView;
public class Recipecategories extends Activity {
VideoView catplayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_titlepage);
Uri videosrc=Uri.parse("android.resource://" + getPackageName() + "/raw/slideshow");
VideoView catplayer= (VideoView) findViewById(R.id.videocatplayer);
catplayer.setVideoURI(videosrc);
catplayer.start();
}
}
问题可能是因为当您调用 catplayer.start() 时您的视频尚未准备好播放,因此请使用 setOnPreparedListener 尝试此示例。
同时删除 VideoView catplayer 的声明之一,您在代码中声明了两次。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_titlepage);
Uri videosrc=Uri.parse("android.resource://" + getPackageName() + "/raw/slideshow");
VideoView catplayer= (VideoView) findViewById(R.id.videocatplayer);
catplayer.setVideoURI(videosrc);
catplayer.requestFocus();
//try, set an setOnPreparedListener in order to know when the video file is ready for playback
catplayer.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mediaPlayer) {
catplayer.start();
}
});
}
首先,我不使用模拟器,因为我的 D270 不支持 运行,所以我只是将我的项目的 .apk 发送到我的 k012 来试用我的应用程序... 我的 VideoView 不会播放名为 'slideshow' 的视频,该视频应该会在我启动我的应用程序时播放...以下是我的视频的属性: 宽度:480,高度:360,帧率:30fps,长度:32s ... 我的视频(幻灯片)位于我的 res/raw 文件夹中... 试了很多方法还是不行...
P.S。我是新手 :D 谢谢你
这是我的代码: activity_titlepage.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.cookdroid.MainActivity"
tools:ignore="MergeRootFrame" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:orientation="vertical" >
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_basicrecipes" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_appetizers" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_soups" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_riceandnoodles" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_fishandshellfish" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_meatandpoultry" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_vegetables" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_desserts" />
<Button
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/btn_drinks" />
</LinearLayout>
<VideoView
android:id="@+id/videocatplayer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/linearLayout1"
/>
Recipecategories.java
package com.protosmack.thefoodofthephilippines;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.VideoView;
public class Recipecategories extends Activity {
VideoView catplayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_titlepage);
Uri videosrc=Uri.parse("android.resource://" + getPackageName() + "/raw/slideshow");
VideoView catplayer= (VideoView) findViewById(R.id.videocatplayer);
catplayer.setVideoURI(videosrc);
catplayer.start();
}
}
问题可能是因为当您调用 catplayer.start() 时您的视频尚未准备好播放,因此请使用 setOnPreparedListener 尝试此示例。 同时删除 VideoView catplayer 的声明之一,您在代码中声明了两次。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_titlepage);
Uri videosrc=Uri.parse("android.resource://" + getPackageName() + "/raw/slideshow");
VideoView catplayer= (VideoView) findViewById(R.id.videocatplayer);
catplayer.setVideoURI(videosrc);
catplayer.requestFocus();
//try, set an setOnPreparedListener in order to know when the video file is ready for playback
catplayer.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mediaPlayer) {
catplayer.start();
}
});
}