Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung


Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!

Soundboard Tutorial

Das Thema "Soundboard Tutorial" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 19.12.2009, 09:39   #1 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 02.12.2009
Beiträge: 152
Abgegebene Danke: 37
Erhielt 12 Danke für 9 Beiträge
Standard Soundboard Tutorial

Hi Leute
ich will mit n paar freunden ein paar Soundboards erstellen, vorallem zu deutschen serien da fast alle ja englisch sind.

Java erfahrung haben wir
nur würde uns ein tutorial gewaltig helfen.

ich hoffe jemand kann uns helfen

mfg
elomanias
elomanias ist offline   Mit Zitat antworten
Alt 19.12.2009, 11:14   #2 (permalink)
Android Guru
 
Benutzerbild von SeraphimSerapis

Modell: Galaxy Nexus, Galaxy Note, Galaxy Tab 10.1N, G-Slate

Registriert seit: 27.02.2009
Beiträge: 3.230
Abgegebene Danke: 206
Erhielt 1.196 Danke für 308 Beiträge
Standard AW: Soundboard Tutorial

Was genau wollt ihr denn da wissen?
Habt ihr euch mal die Guides auf The Developer's Guide | Android Developers durchgelesen?

Ihr fügt einfach einen Button hinzu (Layout und Java)
Dann macht ihr für jeden Button folgendes in der onCreate(..)

Button xy = (Button)findViewById(R.id.buttonXY);
xy.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1);
mp.start();
}
});

Das wäre es dann. R.raw.sound_file_1 ist eine Mp3/Ogg/etc im res/raw-Verzeichnis

Das hätte man aber mit der Dokumentation auch in Sekunden rausfinden können.
SeraphimSerapis ist offline   Mit Zitat antworten
Alt 03.01.2010, 13:55   #3 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 02.12.2009
Beiträge: 152
Abgegebene Danke: 37
Erhielt 12 Danke für 9 Beiträge
Standard AW: Soundboard Tutorial

So hab jetzt nach den Feiertagen etwas an einem Soundboard gearbeitet

hab day layout fertig, die java files fertig nur will der das nicht abspielen
ich drücke auf einen der buttons und nichts passiert

kann mir jemand helfen??

meine java file mit dem OnCeate sieht so aus

Code:
package com.raddieltopo.soundboard.germanemployee;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View.OnClickListener;
import android.view.MenuInflater;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;

public class GermanEmployee extends Activity implements OnClickListener {
   private MediaPlayer a,b,c,d,e,f,g,h,i,j,k,l; 
   
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       // Native rate is 44.1kHz 16 bit stereo, but
       // to save space we just use MPEG-3 22kHz mono
       a = MediaPlayer.create(this, R.raw.a);
       b = MediaPlayer.create(this, R.raw.b);
       c = MediaPlayer.create(this, R.raw.c);
       d = MediaPlayer.create(this, R.raw.d);
       e = MediaPlayer.create(this, R.raw.e);
       f = MediaPlayer.create(this, R.raw.f);
       g = MediaPlayer.create(this, R.raw.g);
       h = MediaPlayer.create(this, R.raw.h);
       i = MediaPlayer.create(this, R.raw.i);
       j = MediaPlayer.create(this, R.raw.j);
       k = MediaPlayer.create(this, R.raw.k);
       l = MediaPlayer.create(this, R.raw.l);
       
       // Setup click listeners
       setContentView(R.layout.main);
       
       View button0 = this.findViewById(R.id.button0);
       button0.setOnClickListener(this);
       View button1 = this.findViewById(R.id.button1);
       button1.setOnClickListener(this);
       View button2 = this.findViewById(R.id.button2);
       button2.setOnClickListener(this);
       View button3 = this.findViewById(R.id.button3);
       button3.setOnClickListener(this);
       View button4 = this.findViewById(R.id.button4);
       button4.setOnClickListener(this);
       View button5 = this.findViewById(R.id.button5);
       button5.setOnClickListener(this);
       View button6 = this.findViewById(R.id.button6);
       button6.setOnClickListener(this);
       View button7 = this.findViewById(R.id.button7);
       button7.setOnClickListener(this);
       View button8 = this.findViewById(R.id.button8);
       button8.setOnClickListener(this);
       View button9 = this.findViewById(R.id.button9);
       button9.setOnClickListener(this);
       View button10 = this.findViewById(R.id.button10);
       button10.setOnClickListener(this);
       View button11 = this.findViewById(R.id.button11);
       button11.setOnClickListener(this);
   }
 
   @Override
   public void onClick(View v) {
       MediaPlayer mp = null;
       switch (v.getId()) {
       
       case R.id.button0:
           mp=a;
           break;
       case R.id.button1:
           mp=b;
           break;
       case R.id.button2:
           mp=c;
           break;
       case R.id.button3:
           mp=d;
           break;
       case R.id.button4:
           mp=e;
           break;
       case R.id.button5:
           mp=f;
           break;
       case R.id.button6:
           mp=g;
           break;
       case R.id.button7:
           mp=h;
           break;
       case R.id.button8:
           mp=i;
           break;
       case R.id.button9:
           mp=j;
           break;
       case R.id.button10:
           mp=k;
           break;
       case R.id.button11:
           mp=l;
           break;           
       
       }
       
       mp.seekTo(0);
       mp.start();
       
   } 
   
    // Called only the first time the options menu is displayed.
    // Create the menu entries.
    // Menu adds items in the order shown.
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.layout.menu, menu);
        
        // Parameters for menu.add are:
        // group -- Not used here.
        // id -- Used only when you want to handle and identify the click yourself.
        // title
        /*
        menu.add("About...");
        menu.add("Quit");
        */
        return true;
    }
    
    // Activity callback that lets your handle the selection in the class.
    // Return true to indicate that you've got it, false to indicate
    // that it should be handled by a declared handler object for that
    // item (handler objects are discouraged for reasons of efficiency).
    @Override
    public boolean onOptionsItemSelected(MenuItem item){
        
        switch(item.getItemId()) {
        
        case R.id.about:
            startActivity(new Intent(this, activity.class));
            return true;
        
        case R.id.quit:
            finish();
            return true;
           
        }
    
        return false;
    
    }
     
}

Geändert von elomanias (03.01.2010 um 14:24 Uhr)
elomanias ist offline   Mit Zitat antworten
Alt 03.01.2010, 14:29   #4 (permalink)
Android Guru
 
Benutzerbild von SeraphimSerapis

Modell: Galaxy Nexus, Galaxy Note, Galaxy Tab 10.1N, G-Slate

Registriert seit: 27.02.2009
Beiträge: 3.230
Abgegebene Danke: 206
Erhielt 1.196 Danke für 308 Beiträge
Standard AW: Soundboard Tutorial

Hast du dir mal die Mühe gemacht, und mit Toasts geschaut, ob die Listener funktionieren?
SeraphimSerapis ist offline   Mit Zitat antworten
Alt 03.01.2010, 15:22   #5 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 02.12.2009
Beiträge: 152
Abgegebene Danke: 37
Erhielt 12 Danke für 9 Beiträge
Standard AW: Soundboard Tutorial

EDIT:

so jetzt läufts

nur leider spielt er direkt zu beginn den ersten Sound ab und sobald ich auf den 7. sound gehe stürzt das prog ab

weis jemand rat ??

mfg
elomanias

Geändert von elomanias (03.01.2010 um 15:52 Uhr)
elomanias ist offline   Mit Zitat antworten
Alt 03.01.2010, 22:04   #6 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 03.01.2010
Beiträge: 53
Abgegebene Danke: 6
Erhielt 4 Danke für 3 Beiträge
Standard AW: Soundboard Tutorial

ich hätte auch eine frage bezüglich des soundboards (insbesondere wegen sounds). in dem developer's guide, den SeraphimSerapis geschickt hat, steht, dass man den media player mittels stop() anhalten kann und mit reset() und prepare() wieder abspielbar machen. das stoppen funktioniert bei mir, jedoch nicht das wieder neu starten.
hier ist der code:
Code:
final Button button01 = (Button) findViewById(R.id.Button01);
        button01.setOnClickListener(new OnClickListener() {
            boolean button01clicked = false;
            CharSequence button01txt = button01.getText();
            MediaPlayer mp01 = MediaPlayer.create(getBaseContext(), R.raw.sound01);
            public void onClick(View v) {
                if(!button01clicked) {
                    mp01.start();
                    button01clicked = true;
                    button01.setText("-- Stop --");
                } else {
                    mp01.stop();
                    mp01.reset();
                    try {
                        mp01.prepare();
                    } catch (IllegalStateException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    button01clicked = false;
                    button01.setText(button01txt);
                }
            }
        });
der button soll nach dem anklicken seinen text auf "-- stop --" ändern. alternativ wäre mir auch ein programm-globaler stop button sogar noch lieber, aber ich weiß noch nicht wie ich so einen machen kann.

die zweite frage wäre, ob man die länge des sound ermitteln kann und nachdem er zu ende abgespielt ist eine aktion durchführen.

wäre dankbar für eure antworten

Geändert von krümelmonster (03.01.2010 um 22:07 Uhr)
krümelmonster ist offline   Mit Zitat antworten
Alt 04.01.2010, 12:40   #7 (permalink)
Android Guru
 
Benutzerbild von SeraphimSerapis

Modell: Galaxy Nexus, Galaxy Note, Galaxy Tab 10.1N, G-Slate

Registriert seit: 27.02.2009
Beiträge: 3.230
Abgegebene Danke: 206
Erhielt 1.196 Danke für 308 Beiträge
Standard AW: Soundboard Tutorial

Zitat:
Zitat von elomanias Beitrag anzeigen
EDIT:

so jetzt läufts

nur leider spielt er direkt zu beginn den ersten Sound ab und sobald ich auf den 7. sound gehe stürzt das prog ab

weis jemand rat ??

mfg
elomanias
ich würde an deiner stelle noch in der switch-case einen default einsetzen und .start() und .seekTo() in eine if mit (mp!=null) { .. }.
das wäre, was mir zuerst dazu einfallen würde.

Zitat:
Zitat von krümelmonster Beitrag anzeigen
]der button soll nach dem anklicken seinen text auf "-- stop --" ändern. alternativ wäre mir auch ein programm-globaler stop button sogar noch lieber, aber ich weiß noch nicht wie ich so einen machen kann.
hallo, du hast einen denkfehler in deinem code.
ein globaler button ginge, indem man eben alle mp objekte stoppen lassen würde.

text auf buttons ändern lassen gilt übrigens als schlechtes design. ich kann es von daher weniger empfehlen.

Geändert von SeraphimSerapis (04.01.2010 um 12:43 Uhr)
SeraphimSerapis ist offline   Mit Zitat antworten
Alt 04.01.2010, 15:20   #8 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 02.12.2009
Beiträge: 152
Abgegebene Danke: 37
Erhielt 12 Danke für 9 Beiträge
Standard AW: Soundboard Tutorial

Zitat:
Zitat von SeraphimSerapis Beitrag anzeigen
ich würde an deiner stelle noch in der switch-case einen default einsetzen und .start() und .seekTo() in eine if mit (mp!=null) { .. }.
das wäre, was mir zuerst dazu einfallen würde.
Hallo Seraph

danke erstmal für deine Hilfe.
hab leider grad voll die denkblokade

kannste mir grad einfach n biepsiel in meinem code schreiben??

mfg
elomanias
elomanias ist offline   Mit Zitat antworten
Alt 04.01.2010, 15:25   #9 (permalink)
Android Guru
 
Benutzerbild von SeraphimSerapis

Modell: Galaxy Nexus, Galaxy Note, Galaxy Tab 10.1N, G-Slate

Registriert seit: 27.02.2009
Beiträge: 3.230
Abgegebene Danke: 206
Erhielt 1.196 Danke für 308 Beiträge
Standard AW: Soundboard Tutorial

Zitat:
Zitat von elomanias Beitrag anzeigen
Hallo Seraph

danke erstmal für deine Hilfe.
hab leider grad voll die denkblokade

kannste mir grad einfach n biepsiel in meinem code schreiben??

mfg
elomanias
Code:
...
case R.id.button11:
           mp=l;
           break;           
default:
           mp=null;
           break;
       }
       if(mp!=null) {
           mp.seekTo(0);
           mp.start();
       }       
   }
...
so war das gedacht - aber keine garantie, dass es hilft.
ansonsten vtl noch eine exception werfen lassen (zB per toast), was da genau bei deinem einen button schiefgeht.
SeraphimSerapis ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei SeraphimSerapis für diesen Beitrag:
elomanias (04.01.2010)
Alt 04.01.2010, 17:17   #10 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 03.01.2010
Beiträge: 53
Abgegebene Danke: 6
Erhielt 4 Danke für 3 Beiträge
Standard AW: Soundboard Tutorial

Zitat:
Zitat von SeraphimSerapis Beitrag anzeigen
[...]
hallo, du hast einen denkfehler in deinem code.
ein globaler button ginge, indem man eben alle mp objekte stoppen lassen würde.

text auf buttons ändern lassen gilt übrigens als schlechtes design. ich kann es von daher weniger empfehlen.
das problem jedoch ist, dass nach einem stop das neu starten des sounds nicht mehr funktioniert, trotz reset() und prepare()
krümelmonster ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Tutorial sd karte partitionieren Grünerhulk Root / Hacking / Modding für T-Mobile G1 91 16.01.2010 23:03
Tutorial: Jeden Dateityp downloaden! zantekk Motorola Milestone Forum 2 20.11.2009 12:59
Suche Hero-Tutorial DuxFreak Root / Hacking / Modding für T-Mobile G1 6 25.10.2009 13:49
MapView Tutorial - ApiKey Probleme herrmie Android App Entwicklung 4 22.10.2009 14:32
Telephony API Tutorial j2eejava Android App Entwicklung 0 07.10.2009 07:03




Du liest gerade: "Soundboard Tutorial" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.