1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. Shelly22, 11.07.2012 #1
    Shelly22

    Shelly22 Threadstarter Android-Hilfe.de Mitglied

    Hallo ihr lieben. Ich bin es mal wieder [​IMG].

    SoundPool soll da das beste sein für kurze Sounds für Games oder sonstiges die unter 1MB sind.

    Jetzt wollte ich gerne ca. 80 kleine Sounds verwenden für meine App.
    Wie kann ich sie gut unterbringen? Weil 80 Sounds einzeln in der Activity/Class reinschreiben ist ja sehr unübersichtlich.

    So sieht das ganze erstmal aus:
    Code:
    1 public class Test extends Activity {
    2
    3    private SoundPool spool;
    4    private int soundID;
    5    
    6    @Override
    7    public void onCreate(Bundle savedInstanceState) {
    8        super.onCreate(savedInstanceState);
    9        setContentView(R.layout.test); 
    10        
    11        this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
    12                spool = new SoundPool(80, AudioManager.STREAM_MUSIC, 0);
    13                soundID = spool.load(this, R.raw.test, 1);
    14    }
    15 }
    
    Dann später in der Button Methode:
    Code:
    1 spool.play(soundID, 10, 10, 1, 0, 1f);
    
    So spielt er ja schonmal den Sound ab.

    Aber nun will ich nicht 80 Buttons mit 80 SoundPool Variablen extra erstellen.

    Wie kann ich das sauber hier erstellen und unterbringen ohne das ich die übersicht verliere und von jeden 80 sachen sind.


    LG
     
  2. Shelly22, 11.07.2012 #2
    Shelly22

    Shelly22 Threadstarter Android-Hilfe.de Mitglied

    Danke dir für die super schnelle Antwort. So wie ich das lese
    kenne ich mich wohl damit nicht so ganz aus.

    Kannst du mir genauere beispiele geben? Würde mich freuen.



    LG
     
  3. Fr4gg0r, 12.07.2012 #3
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Aaalso, du gibst deinen buttons als id jeweils genau den namen des songs, den sie abspielen sollen.


    private final HashMap<Integer, Integer> map = new HashMap<Integer, Integer>;
    private final View.OnClickListener callback = new View.OnClickListener(){
    public void onClick(View v){
    int songId = map.get(v.getId());
    spool.play(songId);
    }
    }


    Dann in onCreate:

    Class clazz = Class.forName(R$id);
    String[] songFileNames = AssetManager.list("songs/");
    for(String s: songFileNames){
    AssetFileDescriptor fd = AssetManager.open(s);
    int songId = spool.load(fd, 10);
    int buttonId = (Integer)clazz.getDeclaredField(s).get();
    map.put(buttonId, songId);
    ((Button)findViewById(buttonId)).setOnClickListener(callback);
    }



    könnte hinhaun, :D
    performancemäßig natürlich nicht das nonplusultra ;)
     
    Zuletzt bearbeitet: 12.07.2012
  4. Shelly22, 12.07.2012 #4
    Shelly22

    Shelly22 Threadstarter Android-Hilfe.de Mitglied

    Daannkeee. Aber da kommt das nächste problem.
    AssetManager kenne ich mich mit noch garnicht aus.
    Das problem ist ja das ich mit SoundPool ca. 80 SoundFiles machen will.
    Und jeder kommt in einen Button..Also 80 Files und 80 Buttons.

    LG
     
  5. Fr4gg0r, 12.07.2012 #5
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Das Problem ist, dass du den obigen code nicht verstanden hast. ;)
    Ich bin der Meinung, das müsste hinhauen.
    15 Zeilen Code für 80 Buttons, toll wa. :p

    (hab nochmal was geändert)
     
    Zuletzt bearbeitet: 12.07.2012
  6. Shelly22, 12.07.2012 #6
    Shelly22

    Shelly22 Threadstarter Android-Hilfe.de Mitglied

    Danke dir. Werde es morgen mal testen.
    Das problem ist. Buttons sind es ja. Aber nicht normal.
    Sondern die aus den GridView.


    LG
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017
[GELÖST] Übergabe an zweite Activity Android App Entwicklung 11.05.2017
[ERLEDIGT] Problem beim Starten einer neuen Activity Android App Entwicklung 21.03.2017
Class (Datenbank) nur einmal instanzieren Android App Entwicklung 23.02.2017
Intent mit Daten (putExtra) zu anderer Activity Android App Entwicklung 14.02.2017
Bestätigungsdialog in der Activity Android App Entwicklung 19.12.2016
Online-Kalender in einem Fragment/einer Activity Android App Entwicklung 17.11.2016
Fehler in der Activity Android App Entwicklung 15.11.2016
Kann man in einer Activity verhindern, daß zurücknavigiert wird? Android App Entwicklung 14.11.2016
Du betrachtest das Thema "Viele Sounds in einer Class/Activity gut unterbringen?" im Forum "Android App Entwicklung",