gpt4 book ai didi

android - 在 Google TV 上使用 googletv-video-player 示例播放视频流时出现问题

转载 作者:行者123 更新时间:2023-11-29 22:13:29 25 4
gpt4 key购买 nike

我下载了 googletv-video-player example 并且只选择了 VideoPlayerActivity 因为我只对如何播放流感兴趣。

我修改了它的 xml 和 java 文件以全屏模式播放视频。

这是我现在拥有的:

player.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent" android:layout_width="fill_parent" android:padding="10dp">

<VideoView android:id="@+id/videoViewFullScreen"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"/>
</RelativeLayout>

player.java

public class player extends Activity implements
AudioManager.OnAudioFocusChangeListener,
MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener {
public static final String TAG = "VPActivity";

public VideoView mVideoView = null;

// Handle AudioFocus issues
public void onAudioFocusChange(int focusChange) {
switch (focusChange) {
case AudioManager.AUDIOFOCUS_GAIN:
Log.i(TAG, "AF Gain");
if (mVideoView != null)
mVideoView.resume();
break;

case AudioManager.AUDIOFOCUS_LOSS:
Log.i(TAG, "AF Loss");
if (mVideoView != null)
mVideoView.stopPlayback();
mVideoView = null;
this.finish(); // Let's move on.
break;

case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
Log.i(TAG, "AF Transient");
if (mVideoView != null)
mVideoView.pause();
break;
}
}

public void onCompletion(MediaPlayer mp) {
Log.i(TAG, "done.");
mVideoView = null;
this.finish();
}

public boolean onError(MediaPlayer mp, int what, int extra) {
Log.e(TAG, "IO Error e=" + what + " x=" + extra);
return false; // Will call onCompletion
}

@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Request Audio Focus
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int result = am.requestAudioFocus(this, AudioManager.STREAM_MUSIC,
AudioManager.AUDIOFOCUS_GAIN);
if (result != AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
Log.e(TAG, "Can't get AudioFocus " + result);
this.finish(); // Just give up.
}

//added the following to make video large, hide title and keep activity alive
//---------------------------------------------------------------------------
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
//----------------------------------------------------------------

setContentView(R.layout.player);


mVideoView = (VideoView) findViewById(R.id.videoViewFullScreen);
mVideoView.setVideoPath("rtsp://stream-url");
mVideoView.setOnCompletionListener(this);
mVideoView.setOnErrorListener(this);

MediaController mc = new MediaController(this, true);
mc.setMediaPlayer(mVideoView);
mc.setAnchorView(mVideoView);
mVideoView.setMediaController(mc);
mVideoView.requestFocus();
mVideoView.start();
}
}

现在我有两个问题

 One on Motorola Xoom Tablet and
Second on Google TV

平板电脑问题(Android 版本:4.0.3)这是一个小问题。平板电脑开始正确传输视频。它完美地播放了 15-20 分钟的视频。但一段时间后,视频停止播放。我通过点击屏幕检查了它的状态,我意识到播放器已自动停止。!

enter image description here

当我再次点击Play 时......它开始完美地播放流媒体。为什么会自动停止???

Google TV 问题(Android 版本:3.1)

这是一个更严重的问题。首先,谷歌电视根本没有播放它,会给我以下错误:

Cannot Play Video
-----------------------------------------
Sorry, this video cannot be played.

编辑:现在这个问题已经消失,并且可以播放视频....我什么也没做。但是你是这样表现的吗??

现在的问题是,Google TV 屏幕只显示左上角视频的 1/4 部分,其余视频被隐藏....就好像 VideoView 对象在拉伸(stretch)时一些其他对象在它上面,左上角有一个打开的窗口,它隐藏了 VideoView

并且播放器 Activity 自动完成。

该视频甚至可以在模拟器和平板电脑上播放,所以我无法从 LogCat 粘贴模拟器生成的错误(因为那里没有错误)。

我的 Android 应用程序是使用 Android 3.1 库构建的

最佳答案

我在 GoogleTV 上试过你的代码,它工作正常。我建议您唯一需要更改流式 url 的是这一行:

 mVideoView.setVideoPath("rtsp://stream-url");

上面是播放本地文件,对于流媒体 url 使用以下代替:

 mVideoView.setVideoURI(Uri.parse("rtsp://stream-url"));

关于android - 在 Google TV 上使用 googletv-video-player 示例播放视频流时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9045062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com