| |||||||
Das Thema "Soundboard Tutorial" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
![]() |
| | Themen-Optionen | Ansicht |
| | #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
| 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 |
| | |
| | #2 (permalink) |
| Android Guru 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
|
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.
__________________ Zitat auf Engadget.com: They can crack military databases, but they still use paper... Android-Entwicklung und Beratung: Sera-Apps.de Twitter: SeraAndroid |
| | |
| | #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
|
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) |
| | |
| | #4 (permalink) |
| Android Guru 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
|
Hast du dir mal die Mühe gemacht, und mit Toasts geschaut, ob die Listener funktionieren?
__________________ Zitat auf Engadget.com: They can crack military databases, but they still use paper... Android-Entwicklung und Beratung: Sera-Apps.de Twitter: SeraAndroid |
| | |
| | #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
|
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) |
| | |
| | #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
|
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);
}
}
}); 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) |
| | |
| | #7 (permalink) | ||
| Android Guru 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
| Zitat:
das wäre, was mir zuerst dazu einfallen würde. Zitat:
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.
__________________ Zitat auf Engadget.com: They can crack military databases, but they still use paper... Android-Entwicklung und Beratung: Sera-Apps.de Twitter: SeraAndroid Geändert von SeraphimSerapis (04.01.2010 um 12:43 Uhr) | ||
| | |
| | #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
| Zitat:
danke erstmal für deine Hilfe. hab leider grad voll die denkblokade kannste mir grad einfach n biepsiel in meinem code schreiben?? mfg elomanias | |
| | |
| | #9 (permalink) | |
| Android Guru 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
| Zitat:
Code: ...
case R.id.button11:
mp=l;
break;
default:
mp=null;
break;
}
if(mp!=null) {
mp.seekTo(0);
mp.start();
}
}
... ansonsten vtl noch eine exception werfen lassen (zB per toast), was da genau bei deinem einen button schiefgeht.
__________________ Zitat auf Engadget.com: They can crack military databases, but they still use paper... Android-Entwicklung und Beratung: Sera-Apps.de Twitter: SeraAndroid | |
| | |
| Folgender Benutzer bedankt sich bei SeraphimSerapis für diesen Beitrag: | elomanias (04.01.2010) |
| | #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
| das problem jedoch ist, dass nach einem stop das neu starten des sounds nicht mehr funktioniert, trotz reset() und prepare()
|
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| 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 |