App mit SoundPool gibt keinen Sound aus

  • Antworten:1
  • Geschlossen
David schneider
  • Forum-Beiträge: 5

19.05.2012, 16:49:30 via Website

Hallo Leute,

ich versuche gerade eine Schlagzeug App zu schreiben.
Leider komm ich mit der Soundausgabe nicht klar :wub:

Die App soll beim Drücken eines Buttons einen Sound ausgeben.
Wenn ich das mit dem MediaPlayer versuche, klappt das ganz gut!
Aber der MediaPlayer ist für einen Schlagzeug App nicht so geeignet.

Die App lässt sich kompilieren,..... aber im Emulator gibt sie beim Drücken des Buttons keinen Ton von sich.

Ich habe es erst nur mit der Bass versucht, die anderen Töne und Button sollen später dazu kommen, wenn ich es mit dem Sound geschafft habe.



Die layout-xml:
1<?xml version="1.0" encoding="utf-8"?>
2<merge xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="fill_parent"
4 android:layout_height="fill_parent" >
5
6
7
8
9
10 <RelativeLayout
11 android:layout_width="fill_parent"
12 android:layout_height="fill_parent" >
13
14 <LinearLayout
15 android:id="@+id/linearLayout1"
16 android:layout_width="wrap_content"
17 android:layout_height="wrap_content"
18 android:layout_alignParentBottom="true"
19 android:layout_centerHorizontal="true"
20 android:layout_marginBottom="64dp"
21 android:orientation="vertical" >
22 </LinearLayout>
23
24 <LinearLayout
25 android:id="@+id/linearLayout2"
26 android:layout_width="wrap_content"
27 android:layout_height="wrap_content"
28 android:layout_alignParentBottom="true"
29 android:layout_marginBottom="18dp"
30 android:layout_marginRight="92dp"
31 android:layout_toLeftOf="@+id/linearLayout1" >
32 </LinearLayout>
33
34
35 <Button
36 android:id="@+id/Bass"
37 android:layout_width="139dp"
38 android:layout_height="87dp"
39 android:layout_alignBottom="@+id/linearLayout2"
40 android:layout_centerHorizontal="true"
41 android:text="@string/Bass" />
42
43 </RelativeLayout>
44
45</merge>


Die Activity:
1package ds.android;
2
3import android.app.Activity;
4import android.media.AudioManager;
5import android.media.SoundPool;
6import android.os.Bundle;
7import android.view.MotionEvent;
8import android.view.View;
9import android.view.View.OnTouchListener;
10import android.widget.Button;
11
12public class DrumSetActivity extends Activity {
13 private SoundPool sp;
14 private int soundID;
15 boolean loaded = false;
16 Button Bass;
17
18 /** Called when the activity is first created. */
19 @Override
20 public void onCreate(Bundle savedInstanceState) {
21 super.onCreate(savedInstanceState);
22 setContentView(R.layout.drumset);
23
24 this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
25
26
27
28 sp = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
29 soundID = sp.load(this, R.raw.bass, 1);
30
31 Bass = (Button) findViewById(R.id.Bass);
32
33
34
35 AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
36 float actualVolume = (float) audioManager
37 .getStreamVolume(AudioManager.STREAM_MUSIC);
38 float maxVolume = (float) audioManager
39 .getStreamMaxVolume(AudioManager.STREAM_MUSIC);
40 final float volume = actualVolume / maxVolume;
41 // Is the sound loaded already
42
43
44
45 Bass.setOnTouchListener(new OnTouchListener()
46 {
47 @SuppressWarnings("unused")
48 public void onClick(View view)
49 {
50
51 sp.play(soundID, volume, volume, 1, 0, 1f);
52 }
53
54 @Override
55 public boolean onTouch(View arg0, MotionEvent arg1) {
56 // TODO Auto-generated method stub
57 return false;
58 }
59 });
60
61
62
63
64 }
65}

Die Sounddatei bass ist im raw Ordner unter res


Kann mir jemand weiterhelfen, und sagen, warum die App den Sound nicht abspielt??

Danke