Beaglebone Android Speaker问题

时间:2013-04-25 21:43:47

标签: android

我最近创建了一个基本上是midi控制器的应用程序。你按一个按钮就会发出声音。该应用程序在日食上工作正常,工作完美。我们将软糖闪到Beaglebone LCD3斗篷触摸屏上,然后将应用程序下载到beaglebone上。它加载,您可以单击按钮但不输出声音。即使我连接扬声器,也没有输出。提前感谢您的时间。

final MediaPlayer ButtonSound1 = MediaPlayer.create(MainActivity.this, R.raw.button_sound);

final MediaPlayer ButtonSound2 = MediaPlayer.create(MainActivity.this, R.raw.airplane);
final MediaPlayer ButtonSound3 = MediaPlayer.create(MainActivity.this, R.raw.chainsaw);
final MediaPlayer ButtonSound4 = MediaPlayer.create(MainActivity.this, R.raw.midnight);
final MediaPlayer ButtonSound5 = MediaPlayer.create(MainActivity.this, R.raw.jungle);
final MediaPlayer ButtonSound6 = MediaPlayer.create(MainActivity.this, R.raw.river);
final MediaPlayer ButtonSound7 = MediaPlayer.create(MainActivity.this, R.raw.jingle_bell);
final MediaPlayer ButtonSound8 = MediaPlayer.create(MainActivity.this, R.raw.crunch);
final MediaPlayer ButtonSound9 = MediaPlayer.create(MainActivity.this, R.raw.bomb);


derp = (Button) findViewById(R.id.button1);
derp2= (Button) findViewById(R.id.button2);
derp3= (Button) findViewById(R.id.button3);
derp4= (Button) findViewById(R.id.button4);
derp5= (Button) findViewById(R.id.button5);
derp6= (Button) findViewById(R.id.button6);
derp7= (Button) findViewById(R.id.button7);
derp8= (Button) findViewById(R.id.button8);
derp9= (Button) findViewById(R.id.button9);


derp.setOnClickListener (new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        ButtonSound1.start();


    }
});

1 个答案:

答案 0 :(得分:0)

首先,我假设您正在使用BeagleBone AUD或DVID-02斗篷为您提供扬声器接口支持。如果你正在使用其他东西,我的答案将不适合你的情况。

Android在Linux内核中使用ALSA来支持您正在调用的声音API。内核需要额外的代码来理解如何在BeagleBone斗篷使用的通用I / O引脚上传递声音数据。 jellybean图像(2012年8月)没有适当的ALSA内核代码来驱动BeagleBone音频披肩。

互联网上有许多补丁用于其他Linux发行版(特别是Angstrom distribution),这些补丁允许这些硬件正常工作......但它们还没有移植到划艇Android源代码。