Медиа-плеер браузера Android (stagefright?) Отображает название мультимедиа
Когда браузер Android открывает медиафайл, который он может воспроизводить, открывается встроенный (stagefright?) Медиаплеер для его потоковой передачи. Название этого носителя отображается в диалоговом окне проигрывателя на основе URL-адреса.
URL в этом случае был http://10.0.37.195/waug_mp3_128k
, Медиаплеер просто использует последнюю часть пути в качестве заголовка.
Можно ли изменить отображаемый заголовок?
Я пробовал Content-Disposition
заголовок, но это не имело никакого эффекта:
Content-Disposition: inline; filename=Some Better Title
2 ответа
Краткий ответ: нет. Я не думаю, что вы можете изменить отображаемый заголовок, чтобы показать что-то еще с сервера.
Я считаю, что проигрыватель является активностью AudioPreview по умолчанию из стандартного приложения AOSP Music. Глядя на его исходный код, очевидно, он просто будет использовать последний сегмент пути 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);
}
}
Попробуйте использовать имя файла без пробелов. Я видел, что Android имеет проблемы с пробелами в именах файлов. Это может помочь.
Content-Disposition: inline; filename=Some_Better_Title