Android-Apps MultiMedia-APP Eine APP spielt beim Betätigen der Buttons unterschiedliche Tierlaute ab. Application Name: SoundApp Company Domain: gsog.de Empty Activity Main Activity: MainActivity Layout: activity_main Was ist neu ?? noch mehr Ressourcen Abspielen von mp3-Sound-Dateien J. Schnaiter 1/9 Android-Apps MultiMedia-APP In der Datei strings.xml werden alle benötigten Strings abgelegt Die Datei colors.xml liegt im Ordner "values". Hier werden alle benötigten Farben in Hexadezimal-Form an einer zentralen Stelle gespeichert. Beispiele zur Codierung: http://html-color-codes.info/webfarben_hexcodes J. Schnaiter 2/9 Android-Apps MultiMedia-APP Die Datei dimens.xml kann es mehrfach geben, mit Konstanten für unterschiedliche Bildschirmauflösungen w820p für Bildschirme mit mehr als 820dp J. Schnaiter 3/9 Android-Apps MultiMedia-APP Der Ordner res/raw Kopieren Sie die Sounddateien aus der Vorlage mit den Tierlauten in den Ordner res/raw J. Schnaiter 4/9 Android-Apps MultiMedia-APP Auszug aus der Layout-Datei activity_main.xml J. Schnaiter 5/9 Android-Apps MultiMedia-APP Auszug aus der MainAcitvity.java Teil 1 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Media Player Objekt erzeugen mit ID zum Vogelgesang mp = MediaPlayer.create(getApplicationContext(),R.raw.birds_cardinal); button1 = (Button) this.findViewById(R.id.button1); // . . . } J. Schnaiter 6/9 Android-Apps MultiMedia-APP Auszug aus der MainAcitvity.java Teil 2 public void play_sound(View v) { Button btClicked = (Button) v; int soundId = R.raw.birds_cardinal; if (btClicked == button1) { soundId = R.raw.birds_cardinal; Medienplayer mp zur } else if Sicherheit stoppen und zurück // . . . setzen bevor neue Sounds mp.stop(); abgespielt werden mp.reset(); try { AssetFileDescriptor fd = getResources().openRawResourceFd(soundId); mp.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength()); mp.prepare(); mp.start(); neue Sounddatei laden } catch (Exception e) { Medienplayer mp vorbereiten // e.printStackTrace(); und starten } } J. Schnaiter 7/9 Android-Apps MultiMedia-APP Kleine Anregung wie die APP verbessert werden könnte. J. Schnaiter 8/9 Android-Apps MultiMedia-APP Sound von einer Internet-Quelle abspielen public void play_sound(View v) { Button btClicked = (Button) v; String webadresse = "http://www.carpelibrum.de/test/spacemusic.mp3"; // . . . try { Uri soundUri = Uri.parse(Uri.encode(webadresse)); mp.setDataSource(this, soundUri); mp.prepare(); mp.start(); }catch (Exception e){ // e.printStackTrace(); } } Hierzu muss noch die Internet-Berechtigung in der AndroidManifest.xml ergänzt werden. <uses-permission android:name="android.permission.INTERNET" /> <application ... J. Schnaiter 9/9