Jag har en basic kod som ska spela upp en mp3 (mySound.mp3 som ligger i assets-foldern).
Jag försöker använda mig av MediaPlayer-klassen.
Trots att jag inte kan hitta något fel så får jag inget ljud.
Kod:
package com.myApp;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.media.MediaPlayer;
import android.net.Uri;
import java.io.*;
import com.myApp.R.id;
public class myApp extends Activity
{
// Init: MediaPlayer
MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mp = new MediaPlayer();
try
{
mp.setDataSource("file:///android_asset/mySound.mp3");
mp.prepare();
mp.start();
}
catch(Exception e) {}
}
}
Det borde ju vara klockrent.
Jag har även testat att placera mp3-filen i res-mappen och sedan använda följande kod:
Kod:
package com.myApp;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.media.MediaPlayer;
import android.net.Uri;
import java.io.*;
import com.myApp.R.id;
public class myApp extends Activity
{
// Init: MediaPlayer
MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mp = new MediaPlayer();
mp = MediaPlayer.create(getBaseContext(), R.raw.mySound);
mp.start();
}
}
Denna kod kan jag dock inte använda av den anledningen att det finns ett par hundra ljudfiler och hittills har jag inte hittat en metod för att byta ut "mySound" mot en variabel med namnet på aktuell ljudfil. Följande kodstycke fungerar alltså inte:
Kod:
String soundName = "mySound2";
String param2 = "R.raw." + soundName;
mp = MediaPlayer.create(getBaseContext(), param2);
Alltså, det borde ju vara en enkel grej tycker man att dynamiskt spela upp ljud i Android, så det är väl någon liten struntsak som jag inte fattat. Ser ni vad?