Sound not working on raspberry pi with Android Things

时光总嘲笑我的痴心妄想 提交于 2019-12-24 07:41:37

问题


Recently we flashed Android Things on raspberry Pi 3 and everything is working fine except sound. I tried connecting 3.5mm jack earphone and hdmi screen as well in different combinations like:

  1. Only earphone without hdmi display.
  2. hdmi monitor only.
  3. earphone connected to raspberry pi 3.5 audio jack and hdmi display is also connected.

I attempted all these using adb command. example:

adb shell am start -a android.intent.action.VIEW -d file:///sdcard/music/sample.mp3 -t audio/mp3

Alternatively, later used code too as below:

MediaPlayer mPlayer = MediaPlayer.create(this.getBaseContext(), R.raw.humma);
mPlayer.setOnErrorListener(this);
mPlayer.start();

But in none of these conditions, sound worked.

Below is console log:

OMXClient: MuxOMX ctor
04-24 06:08:15.256   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:15.258   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:15.259   157   157 I OMXMaster: makeComponentInstance(OMX.google.mp3.decoder) in mediacodec process
04-24 06:08:15.401   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:15.402   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:15.403   157  1277 I OMXMaster: makeComponentInstance(OMX.google.amrnb.decoder) in mediacodec process
04-24 06:08:15.423   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:15.423   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:15.424   157  1277 I OMXMaster: makeComponentInstance(OMX.google.amrwb.decoder) in mediacodec process
04-24 06:08:15.433   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:15.434   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:15.435   157  1277 I OMXMaster: makeComponentInstance(OMX.google.aac.decoder) in mediacodec process
04-24 06:08:15.462   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:15.463   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:15.463   157   206 I OMXMaster: makeComponentInstance(OMX.google.g711.alaw.decoder) in mediacodec process
04-24 06:08:15.593   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:15.594   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:15.594   157   206 I OMXMaster: makeComponentInstance(OMX.google.g711.mlaw.decoder) in mediacodec process
04-24 06:08:15.723   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:15.724   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:15.724   157   206 I OMXMaster: makeComponentInstance(OMX.google.vorbis.decoder) in mediacodec process
04-24 06:08:15.853   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:15.854   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:15.854   157   206 I OMXMaster: makeComponentInstance(OMX.google.opus.decoder) in mediacodec process
04-24 06:08:15.984   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:15.985   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:15.985   157   206 I OMXMaster: makeComponentInstance(OMX.google.raw.decoder) in mediacodec process
04-24 06:08:15.997   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:15.998   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:15.998   157   206 I OMXMaster: makeComponentInstance(OMX.google.aac.encoder) in mediacodec process
04-24 06:08:16.025   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:16.025   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:16.026   157  1278 I OMXMaster: makeComponentInstance(OMX.google.amrnb.encoder) in mediacodec process
04-24 06:08:16.042   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:16.042   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:16.043   157  1278 I OMXMaster: makeComponentInstance(OMX.google.amrwb.encoder) in mediacodec process
04-24 06:08:16.065   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:16.066   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:16.066   157  1278 I OMXMaster: makeComponentInstance(OMX.google.flac.encoder) in mediacodec process
04-24 06:08:16.167  1246  1257 I art     : Background partial concurrent mark sweep GC freed 13776(3MB) AllocSpace objects, 18(360KB) LOS objects, 39% free, 2MB/3MB, paused 969us total 101.384ms
04-24 06:08:16.213   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:16.214   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:16.215   157  1278 I OMXMaster: makeComponentInstance(OMX.google.gsm.decoder) in mediacodec process
04-24 06:08:16.350   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:16.351   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:16.352   157   206 I OMXMaster: makeComponentInstance(OMX.google.mpeg4.decoder) in mediacodec process
04-24 06:08:16.391  1246  1246 I Choreographer: Skipped 54 frames!  The application may be doing too much work on its main thread.
04-24 06:08:16.464   409   431 I ActivityManager: Displayed schneider_electric.com.mqttclient/.MainActivity: +23s558ms
04-24 06:08:16.485   409   471 I WindowManager: Destroying surface Surface(name=com.android.iotlauncher/com.android.iotlauncher.IoTLauncher) called by com.android.server.wm.WindowStateAnimator.destroySurface:2014 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:881 com.android.server.wm.WindowState.destroyOrSaveSurface:2073 com.android.server.wm.AppWindowToken.destroySurfaces:363 com.android.server.wm.AppWindowToken.notifyAppStopped:389 com.android.server.wm.WindowManagerService.notifyAppStopped:4456 com.android.server.am.ActivityStack.activityStoppedLocked:1252 com.android.server.am.ActivityManagerService.activityStopped:6902 
04-24 06:08:16.500   157  1277 E OMXNodeInstance: getExtensionIndex(9d000f:google.mpeg4.decoder, OMX.google.android.index.configureVideoTunnelMode) ERROR: UnsupportedIndex(0x8000101a)
04-24 06:08:16.500   157   157 W OMXNodeInstance: [9d000f:google.mpeg4.decoder] component does not support metadata mode; using fallback
04-24 06:08:16.505   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:16.506   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:16.506   157   157 I OMXMaster: makeComponentInstance(OMX.google.h263.decoder) in mediacodec process
04-24 06:08:16.634   157  1277 E OMXNodeInstance: getExtensionIndex(9d0010:google.h263.decoder, OMX.google.android.index.configureVideoTunnelMode) ERROR: UnsupportedIndex(0x8000101a)
04-24 06:08:16.634   157  1277 W OMXNodeInstance: [9d0010:google.h263.decoder] component does not support metadata mode; using fallback
04-24 06:08:16.641   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:16.641   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:16.643   157  1277 I OMXMaster: makeComponentInstance(OMX.google.h264.decoder) in mediacodec process
04-24 06:08:16.720   409   431 I WindowManager: Destroying surface Surface(name=Starting schneider_electric.com.mqttclient) called by com.android.server.wm.WindowStateAnimator.destroySurface:2014 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:881 com.android.server.wm.WindowState.destroyOrSaveSurface:2073 com.android.server.wm.AppWindowToken.destroySurfaces:363 com.android.server.wm.WindowStateAnimator.finishExit:565 com.android.server.wm.WindowStateAnimator.stepAnimationLocked:491 com.android.server.wm.WindowAnimator.updateWindowsLocked:303 com.android.server.wm.WindowAnimator.animateLocked:704 
04-24 06:08:16.788   160  1273 W ACodec  : [OMX.google.h264.decoder] stopping checking profiles after 32: 2/8000
04-24 06:08:16.789   157   206 E OMXNodeInstance: getExtensionIndex(9d0011:google.h264.decoder, OMX.google.android.index.configureVideoTunnelMode) ERROR: UnsupportedIndex(0x8000101a)
04-24 06:08:16.789   157  1277 W OMXNodeInstance: [9d0011:google.h264.decoder] component does not support metadata mode; using fallback
04-24 06:08:16.796   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:16.797   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:16.797   157  1277 I OMXMaster: makeComponentInstance(OMX.google.hevc.decoder) in mediacodec process
04-24 06:08:16.943   157  1277 E OMXNodeInstance: getExtensionIndex(9d0012:google.hevc.decoder, OMX.google.android.index.configureVideoTunnelMode) ERROR: UnsupportedIndex(0x8000101a)
04-24 06:08:16.943   157   157 W OMXNodeInstance: [9d0012:google.hevc.decoder] component does not support metadata mode; using fallback
04-24 06:08:16.949   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:16.950   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:16.950   157   157 I OMXMaster: makeComponentInstance(OMX.google.vp8.decoder) in mediacodec process
04-24 06:08:17.078   157  1277 E OMXNodeInstance: getExtensionIndex(9d0013:google.vp8.decoder, OMX.google.android.index.configureVideoTunnelMode) ERROR: UnsupportedIndex(0x8000101a)
04-24 06:08:17.079   157  1277 W OMXNodeInstance: [9d0013:google.vp8.decoder] component does not support metadata mode; using fallback
04-24 06:08:17.084   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:17.084   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:17.085   157  1277 I OMXMaster: makeComponentInstance(OMX.google.vp9.decoder) in mediacodec process
04-24 06:08:17.177  1246  1308 D AlarmPingSender: Register alarmreceiver to MqttServiceMqttService.pingSender.02:00:00:00:00:00-pub
04-24 06:08:17.184  1246  1308 D AlarmPingSender: Schedule next alarm at 1493014157183
04-24 06:08:17.186  1246  1308 D AlarmPingSender: Alarm scheule using setExactAndAllowWhileIdle, next: 60000
04-24 06:08:17.219   157  1278 E OMXNodeInstance: getExtensionIndex(9d0014:google.vp9.decoder, OMX.google.android.index.configureVideoTunnelMode) ERROR: UnsupportedIndex(0x8000101a)
04-24 06:08:17.219   157   157 W OMXNodeInstance: [9d0014:google.vp9.decoder] component does not support metadata mode; using fallback
04-24 06:08:17.225   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:17.227   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:17.227   157   157 I OMXMaster: makeComponentInstance(OMX.google.h263.encoder) in mediacodec process
04-24 06:08:17.365   157   157 I SoftMPEG4Encoder: Construct SoftMPEG4Encoder
04-24 06:08:17.369   160  1273 W ACodec  : do not know color format 0x7f000789 = 2130708361
04-24 06:08:17.370   157  1277 E OMXNodeInstance: getConfig(9d0015:google.h263.encoder, ConfigAndroidIntraRefresh(0x6f60000a)) ERROR: Undefined(0x80001001)
04-24 06:08:17.375   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:17.376   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:17.376   157   157 I OMXMaster: makeComponentInstance(OMX.google.h264.encoder) in mediacodec process
04-24 06:08:17.514   160  1273 W ACodec  : do not know color format 0x7f000789 = 2130708361
04-24 06:08:17.519   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:17.520   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:17.520   157  1278 I OMXMaster: makeComponentInstance(OMX.google.mpeg4.encoder) in mediacodec process
04-24 06:08:17.641   157  1278 I SoftMPEG4Encoder: Construct SoftMPEG4Encoder
04-24 06:08:17.645   160  1273 W ACodec  : do not know color format 0x7f000789 = 2130708361
04-24 06:08:17.646   157  1277 E OMXNodeInstance: getConfig(9d0017:google.mpeg4.encoder, ConfigAndroidIntraRefresh(0x6f60000a)) ERROR: Undefined(0x80001001)
04-24 06:08:17.651   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:17.652   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:17.652   157   206 I OMXMaster: makeComponentInstance(OMX.google.vp8.encoder) in mediacodec process
04-24 06:08:17.786   160  1273 W ACodec  : do not know color format 0x7f000789 = 2130708361
04-24 06:08:17.787   157  1277 E OMXNodeInstance: getConfig(9d0018:google.vp8.encoder, ConfigAndroidIntraRefresh(0x6f60000a)) ERROR: Undefined(0x80001001)
04-24 06:08:17.792   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:17.792   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:17.792   160  1273 W MediaCodecList: unable to open media codecs configuration xml file: /etc/media_codecs_performance.xml
04-24 06:08:17.793   160  1273 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:17.794   160  1273 I OMXClient: MuxOMX ctor
04-24 06:08:17.799   160  1273 W MediaCodecList: unable to open media codecs configuration xml file: /data/misc/media/media_codecs_profiling_results.xml
04-24 06:08:17.800   160  1274 I MediaPlayerService: MediaPlayerService::getOMX
04-24 06:08:17.801   160  1274 I OMXClient: MuxOMX ctor
04-24 06:08:17.801   157  1277 I OMXMaster: makeComponentInstance(OMX.google.mp3.decoder) in mediacodec process
04-24 06:08:17.918   157  1278 E OMXNodeInstance: setConfig(9d0019:google.mp3.decoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)
04-24 06:08:17.918   160  1274 I ACodec  : codec does not support config priority (err -2147483648)
04-24 06:08:17.922   160  1274 I MediaCodec: MediaCodec will operate in async mode
04-24 06:08:17.946   160  1272 D AudioTrack: Client defaulted notificationFrames to 7520 for frameCount 22560
04-24 06:08:17.949   160  1267 D NuPlayerDriver: notifyListener_l(0xa810c000), (6, 0, 0), loop setting(0, 0)
04-24 06:08:41.720   170   170 I update_engine: [0424/060841:INFO:update_manager-inl.h(52)] ChromeOSPolicy::UpdateCheckAllowed: START
04-24 06:08:41.721   170   170 I update_engine: [0424/060841:INFO:chromeos_policy.cc(322)] Allowing update check.

Please help me.


回答1:


adb shell am start -a android.intent.action.VIEW

Is telling Android to fire an intent with the action VIEW to "View the mp3". AndroidThings is not like Android AOSP - it does not have any built in apps. Therefore it doesn't have an app that can VIEW i.e. play your MP3.

To play an mp3 in your own application, you need to ensure the file is compatible with the system. See here for supported media formats

If it is ok then you have the correct code for playing the media file (more info here). Then you should check the logs to see if it is playing.




回答2:


I suspect it is related to following API with Audio management: https://developer.android.com/things/sdk/drivers/audio.html



来源:https://stackoverflow.com/questions/43487650/sound-not-working-on-raspberry-pi-with-android-things

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!