【问题标题】:ASUS padfone shows black screen when playing Http Live Streaming (m3u8) files using Android VideoView使用 Android VideoView 播放 Http Live Streaming (m3u8) 文件时,华硕 padfone 显示黑屏
【发布时间】:2012-07-13 07:41:46
【问题描述】:

当我尝试在 ASUS padfone (http://www.asus.com/Mobile/PadFone/ 上播放 HLS m3u8 文件 (http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8) ),它显示没有视频和音频的黑屏。 logcat没有报错。

华硕padfone上安装的操作系统是Android 4.0.3。

我使用的代码可以在 Sansumg Galaxy S2 等其他 Android 手机上完美运行。华硕 padfone 是否缺少用于解码 m3u8 流的 HLS 解码器?其他文件如 3gp、mp4 工作正常。 任何建议将不胜感激!

代码:

package com.videoview;

import android.app.Activity;

import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;

import android.widget.VideoView;

public class videoview extends Activity {

    /**
     * TODO: Set the path variable to a streaming video URL or a local media
     * file path.
     */
    private String path = "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8";
//    private String path = "http://www.pocketjourney.com/downloads/pj/video/famous.3gp";
    private VideoView mVideoView;

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        try {
            setContentView(R.layout.videoview);
            mVideoView = (VideoView) findViewById(R.id.surface_view);
//          mVideoView.setVideoPath(path);
            mVideoView.setVideoURI(Uri.parse(path));
            mVideoView.setMediaController(new MediaController(this));
            mVideoView.requestFocus();
            mVideoView.start();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

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"
    >

    <VideoView 
        android:id="@+id/surface_view" 
        android:layout_height="fill_parent" android:layout_width="fill_parent"/>

</LinearLayout>

【问题讨论】:

    标签: java android android-videoview http-live-streaming m3u


    【解决方案1】:

    多个评论表明,Padfone 缺少多个编解码器。例如,没有 MKV 支持。

    来自说明书:

    *您的 PadFone Station 支持的音视频编解码器:

    解码器

    音频编解码器:AAC LC/LTP、HE-AACv(AAC+)、HE-AACv(增强型 AAC+)、 AMR-NB、AMR-WB、MP、FLAC、MIDI、PCM/WAVE、Vorbis、WAV a-law/mu-law、WAV 线性 PCM、WMA 0、 WMA 无损,WMA Pro LBR

    编码器 音频编解码器:AAC LC/LTP、AMR-NB、AMR-WB 视频编解码器:H.6、H.64、MPEG-4

    视频编解码器:H.263、H.264、MPEG-4、VC-/WMV、VP8* 

    你试过 MX 播放器或最新的 VLC nightly 吗?

    【讨论】:

    • 非常感谢您的回复。我尝试过其他一些基于第三方 ffmpeg 库的播放器(例如:VPlayer 和 VLC Android 播放器)。他们可以正常工作。但是,我希望使用像 VideoView 这样的 Android 原生组件,并且解码器原生存在于 Padfone 中。基于这里的 Http Live Streaming 文档 (developer.apple.com/library/ios/#documentation/…) 看来,我们需要 MPEG-2 编解码器,而Padfone 中不存在?
    猜你喜欢
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    相关资源
    最近更新 更多