Низкий уровень громкости в MediaPlayer - Android Things

У меня довольно мутная проблема с низким уровнем звука на Android Things. Моя настройка HW — RPI 3 (Raspberry) с Google IoT RPI3 версии 1.0.2, аудиовыход через разъем для наушников.

Это простой аудиофайл, который я скачал где-то в Интернете. Я импортировал его в необработанную папку моего проекта. И пытался бежать.

Вот мой простой код, чтобы вы могли воспроизвести:

package com.mystuff.lowvolumeissue;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;


public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.sampleaudio);
        mediaPlayer.setVolume(1,1);
        mediaPlayer.start(); // no need to call prepare(); create() does that for you
    }
}

просто чтобы убедиться, что все настроено правильно, это мой манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mystuff.lowvolumeissue">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />


<application>
    <uses-library android:name="com.google.android.things" />

    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.IOT_LAUNCHER" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>

When hearing the output trough headphones the level of sound is barely 50% of what is the output when I play the same sample on a PC trough headphones.

Кто-то столкнулся с похожей проблемой здесь.

Любое предложение, как решить эту проблему?


person webaloman    schedule 24.08.2018    source источник
comment
Я столкнулся с подобными странностями с громкостью на RPi3. Вы пытались установить громкость потока напрямую через AudioManager по предоставленной вами ссылке?   -  person James Puderer    schedule 25.08.2018
comment
К сожалению, похоже, что объем вывода на Android Things каким-то образом установлен примерно наполовину. Я тестировал три разных RPi 3 B, используя аналоговый линейный выход, две отдельные звуковые карты USB и усилитель Adafruit MAX 98357A (используя выход шины I2S), и все они воспроизводили звук на неправильном уровне. Я сравниваю это с загрузкой тех же устройств в Raspbian или подключением USB или усилителя к другой машине. Я пришел к выводу, что в самом Android Things должна быть низкоуровневая проблема.   -  person Paul Lammertsma    schedule 29.09.2018


Ответы (1)


Да, проблема решается путем настройки громкости с помощью AudioManager. Большое спасибо

ОБНОВЛЕНИЕ: код

AudioManager mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE);
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
                mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC),0);
person webaloman    schedule 27.08.2018
comment
Привет @webaloman, мы столкнулись с той же проблемой. Не могли бы вы поделиться кодом AudioManager, который решил эту проблему для вас? Заранее спасибо. - person Smalesy; 18.12.2019
comment
@Smalesy см. ответ - person webaloman; 27.11.2020
comment
Спасибо @webaloman - person Smalesy; 24.12.2020