Медиаплеер браузера Android (stagefright?) Отображает имя мультимедиа

Когда браузер Android открывает медиафайл, который он может воспроизвести, встроенный (сценический страх?) медиаплеер открывается для его потоковой передачи. Название этого носителя отображается в диалоговом окне проигрывателя на основе URL-адреса.

Android Media Player, с выделенным заголовком

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);
    }
}
person Joe    schedule 28.07.2012
comment
Спасибо за окончательный ответ! - person Brad; 29.07.2012
comment
Рад помочь! Размышляя об этом, одна вещь, которую вы можете попробовать, это каким-то образом настроить сервер для потоковой передачи контента для http://10.0.37.195/waug_mp3_128k на что-то вроде http://10.0.37.195/waug_mp3_128k/title_to_display или, может быть, даже просто http://10.0.37.195/title_to_display вообще :) - person Joe; 29.07.2012
comment
Ага, это план. К счастью, поскольку я создаю сервер, эта часть проста. - person Brad; 29.07.2012

Попробуйте использовать имя файла без пробелов. Я видел, что у Android есть проблема с пробелами в именах файлов. Это может помочь.

Content-Disposition: inline; filename=Some_Better_Title
person Josnidhin    schedule 25.07.2012
comment
Ваше предложение не действует, извините. - person Brad; 27.07.2012