Android浏览器媒体播放器(stagefright?)显示媒体名称

时间:2012-07-22 17:40:36

标签: android android-mediaplayer android-browser content-disposition stagefright

当Android浏览器打开可播放的媒体文件时,内置(stagefright?)媒体播放器会打开以进行流式传输。此媒体的标题将根据URL显示在播放器对话框中。

Android Media Player, with title highlighted

本案例中的网址为http://10.0.37.195/waug_mp3_128k。媒体播放器只使用路径的最后部分作为标题。

是否可以更改显示的标题?

我尝试了一个Content-Disposition标题,但它没有效果:

Content-Disposition: inline; filename=Some Better Title

2 个答案:

答案 0 :(得分:1)

简短的回答是否定的。我不认为您可以更改显示的标题以显示服务器上的其他内容。

我认为该播放器是默认AOSP音乐应用中的默认AudioPreview活动。看看它的源代码,显然它将使用HTTP方案简单地使用URI的最后一个路径段(它只会查询媒体数据库中的本地内容/文件)。

以下是相关的代码段:

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

    // ...

    if (scheme.equals(ContentResolver.SCHEME_CONTENT)) {

        // ...

    } else if (scheme.equals("file")) {

        // ...

    } else {
        // We can't get metadata from the file/stream itself yet, because
        // that API is hidden, so instead we display the URI being played
        if (mPlayer.isPrepared()) {
            setNames();
        }
    }
}

// ...

public void setNames() {
    if (TextUtils.isEmpty(mTextLine1.getText())) {
        mTextLine1.setText(mUri.getLastPathSegment());
    }
    if (TextUtils.isEmpty(mTextLine2.getText())) {
        mTextLine2.setVisibility(View.GONE);
    } else {
        mTextLine2.setVisibility(View.VISIBLE);
    }
}

答案 1 :(得分:0)

尝试使用不带空格的文件名。我已经看到android在文件名中有空格问题。这可能有所帮助。

Content-Disposition: inline; filename=Some_Better_Title