声音在Android Things上无法在树莓派上运行 [英] Sound not working on raspberry pi with Android Things
问题描述
最近,我们在树莓派3上刷新了Android Things,除声音外,其他一切正常. 我尝试以其他组合方式连接3.5毫米插孔耳机和HDMI屏幕,
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:
- 只有没有HDMI显示屏的耳机.
- 仅高清显示器.
- 连接到树莓派3.5音频插孔的耳机和HDMI显示器也已连接.
我尝试使用adb命令进行所有这些操作.例如:
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.
下面是控制台日志:
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.
请帮助我.
推荐答案
adb shell am start -a android.intent.action.VIEW
告诉Android使用操作VIEW
激发意图以查看mp3". AndroidThings与Android AOSP不同-它没有任何内置应用程序.因此,它没有可以VIEW
即可播放MP3的应用.
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.
要在自己的应用程序中播放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.
这篇关于声音在Android Things上无法在树莓派上运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!