3

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

Android 媒体播放器,标题突出显示

本例中的 URL 是http://10.0.37.195/waug_mp3_128k. 媒体播放器只是使用路径的最后一部分作为其标题。

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

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

Content-Disposition: inline; filename=Some Better Title
4

2 回答 2

1

最简洁的答案是不。我认为您不能更改显示的标题以显示来自服务器的其他内容。

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

以下是相关的代码片段:

@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);
    }
}
于 2012-07-28T20:07:43.017 回答
0

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

Content-Disposition: inline; filename=Some_Better_Title
于 2012-07-25T07:41:02.550 回答