I am trying to implement a simple media player in android that contains only two buttons one for play another for pause
Play
String url = " http://host/audio/01_-_Pat.mp3";
public void onClick(View v) {
try{
mPlayer.setDataSource(url);
mPlayer.setOnPreparedListener(MainActivity.this);
mPlayer.prepareAsync();
}catch (Exception e)
{
Log.v("Error", String.valueOf(e));
Toast.makeText(getApplicationContext(), "Exception", Toast.LENGTH_LONG).show();
}
mPlayer.start();
}
I didn't get any exception on this code but i will get this error
*
Failed to open file ' http://host.com/audio/01_-_Pat.mp3'. (No such
file or directory)
*
Actually the url is valid and it contains the audio
Add this line to your code:
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
String url = " http://host/audio/01_-_Pat.mp3";
public void onClick(View v) {
try{
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(url);
mPlayer.setOnPreparedListener(MainActivity.this);
mPlayer.prepareAsync();
}catch (Exception e)
{
Log.v("Error", String.valueOf(e));
Toast.makeText(getApplicationContext(), "Exception", Toast.LENGTH_LONG).show();
}
mPlayer.start();
}
Related
I'm trying to play some base 64 encoded audio in Android, and I've followed various examples to come up with the following code:
MediaPlayer soundPlayer = new MediaPlayer();
try {
soundPlayer.setDataSource(audioData);
soundPlayer.setOnCompletionListener(new OnCompletionListener() {
#Override
public void onCompletion(MediaPlayer mp) {
mp.stop();
mp.release();
}
});
soundPlayer.prepare();
soundPlayer.setVolume(100f, 100f);
soundPlayer.setLooping(false);
soundPlayer.start();
}
catch (Exception e) {
.
.
.
}
When this code executes, I just get silence - and the following error:
08-24 11:38:58.555: W/System.err(18862): java.io.IOException: Prepare
failed.: status=0x1 08-24 11:38:58.555: W/System.err(18862): at
android.media.MediaPlayer.prepare(Native Method) 08-24 11:38:58.555:
W/System.err(18862): at
application.main.Application$27.run(Application.java:233)
Would appreciate if anyone can point out where I'm going wrong. The 'audioData' variable in question (which, if you manage to decode and play it, describes my frustration) is as follows:
data:application/octet-stream;base64,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
Example Code of Playing Base64 encoded audio in Android :
public class MainActivity extends AppCompatActivity {
Button button;
String base64FormattedString="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";
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=findViewById(R.id.btnId);
button.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
playMedia();
}
});
}
public void playMedia() {
try{
String url = "data:audio/mp3;base64,"+base64FormattedString;
MediaPlayer mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(url);
mediaPlayer.prepareAsync();
mediaPlayer.setVolume(100f, 100f);
mediaPlayer.setLooping(false);
} catch (IllegalArgumentException e) {
Toast.makeText(getApplicationContext(), "You might not set the DataSource correctly!", Toast.LENGTH_LONG).show();
} catch (SecurityException e) {
Toast.makeText(getApplicationContext(), "You might not set the DataSource correctly!", Toast.LENGTH_LONG).show();
} catch (IllegalStateException e) {
Toast.makeText(getApplicationContext(), "You might not set the DataSource correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
#Override
public void onPrepared(MediaPlayer player) {
player.start();
}
});
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
#Override
public void onCompletion(MediaPlayer mp) {
mp.stop();
mp.release();
}
});
}
catch(Exception e){
e.printStackTrace();
}
}
}
Also : AudioTrack is recommend to play a single audio resource for Java applications.
your error occurred because of the length of the base64 url limitation. media cannot prepare datasource for the long string. what I found base64 url for around 128 characters maybe work well. For long string you have to split string into pieces and fetch base64 url for small strings.
This question already has answers here:
Downloading an mp3 file from server in android
(3 answers)
Closed 7 years ago.
i am unable to download the song from internet but i can listen the song but i want to my app to perform as, when i am clicking the play button it should download that song too.
playbtn.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
mPlayer = new MediaPlayer();
if(web[position] == web[0]){
if(mPlayer.isPlaying()){
mPlayer.stop();
mPlayer.prepareAsync();
mPlayer.seekTo(0);
}
else{
Uri myUri1 = Uri.parse("http://sound21.mp3slash.net/320/indian/bajrangibhaijaan/01%20-%20Selfie%20Le%20Le%20Re%20-%20Bajrangi%20Bhaijaan%20[Songspk.LINK].mp3");
try {
mPlayer.setDataSource(getContext(), myUri1);
} catch (IllegalArgumentException e) {
Toast.makeText(getContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (SecurityException e) {
Toast.makeText(getContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IllegalStateException e) {
Toast.makeText(getContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
try {
mPlayer.prepare();
} catch (IllegalStateException e) {
Toast.makeText(getContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(getContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
}
mPlayer.start();
playbtn.setText("Pause");
}
You mean when you click button , start playing and downloading?
Use DownloadManager to download the audio file.
http://developer.android.com/reference/android/app/DownloadManager.html
I'm in the process of building a prototype for a project. I want to be able to stream music from my website to the app.
Here is what I have so far. Trying it with an m3u because I honestly have no idea what else to use for this.
Button buttonPlay;
Button buttonStop;
MediaPlayer mPlayer;
String url = "http://www.*******.com/*****/files.m3u";
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonPlay = (Button) findViewById(R.id.play);
buttonPlay.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mPlayer.setDataSource(url);
} catch (IllegalArgumentException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly! Illegal Argument", Toast.LENGTH_LONG).show();
} catch (SecurityException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly! Security ", Toast.LENGTH_LONG).show();
} catch (IllegalStateException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly! Illegal Statement", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
try {
mPlayer.prepare();
} catch (IllegalStateException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly! Prepare Illegal State", Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly! Prepare IO", Toast.LENGTH_LONG).show();
}
mPlayer.start();
}
});
buttonStop = (Button) findViewById(R.id.stop);
buttonStop.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(mPlayer!=null && mPlayer.isPlaying()){
mPlayer.stop();
}
}
});
Them problem is it throws IOexception after prepare. Now I read somewhere you have to download m3u files and then read them line by line. If that is the case, is there a better way? I'm attempting to make sort of a radio app for testing purposes that will play songs at random, not in order, so I don't want to hard code them MP3 files,
you cant just prepare a stream because it needs to download asynchronously. you will need to do this
Button buttonPlay;
Button buttonStop;
MediaPlayer mPlayer;
String url = "http://www.*******.com/*****/files.m3u";
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonPlay = (Button) findViewById(R.id.play);
buttonPlay.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mPlayer.setDataSource(url);
} catch (IllegalArgumentException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly! Illegal Argument", Toast.LENGTH_LONG).show();
} catch (SecurityException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly! Security ", Toast.LENGTH_LONG).show();
} catch (IllegalStateException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly! Illegal Statement", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
try {
mPlayer.prepareAsync();
mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
#Override
public void onPrepared(MediaPlayer mp) {
mPlayer.start();
}
};);
} catch (IllegalStateException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly! Prepare Illegal State", Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly! Prepare IO", Toast.LENGTH_LONG).show();
}
}
});
buttonStop = (Button) findViewById(R.id.stop);
buttonStop.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(mPlayer!=null && mPlayer.isPlaying()){
mPlayer.stop();
}
}
});
Let me explain clearly:
I have folder named "Sounds" and there are some .ogg files to play.
I got the folder path using Environment.getExternalStorageDirectory().getAbsolutePath() + mySoundsPath;.
I got all list from that folder and save it to array: List<String> soundList;
My question is:
How to call the sound from soundList that i created so they all can be played??
Should it need to decoded(like images, decoded to Bitmap)??
Sorry for my grammar.
Thanks in advance.
Use the below link for the reference
http://developer.android.com/reference/android/media/MediaPlayer.html
and you can try small code sample as well
http://davanum.wordpress.com/2007/12/29/android-videomusic-player-sample-from-local-disk-as-well-as-remote-urls/
public void play(String path) {
count++;
playFile=path;
//showNotification();
new NotificationPanel(activity);
if(mediaPlayer!=null && mediaPlayer.isPlaying()){
Log.d("*****begin*****", "playing");
stopPlaying();
Log.d("*****begin*****", "stoping");
} else{
Log.d("*****begin*****", "nothing");
}
Uri myUri1 = Uri.parse(path);
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mediaPlayer.setDataSource(activity, myUri1);
} catch (IllegalArgumentException e) {
Toast.makeText(activity, "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (SecurityException e) {
Toast.makeText(activity, "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IllegalStateException e) {
Toast.makeText(activity, "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
try {
mediaPlayer.prepare();
} catch (IllegalStateException e) {
Toast.makeText(activity, "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(activity, "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
}
mediaPlayer.start();
}
private void stopPlaying() {
if (mediaPlayer != null) {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
}
}
I have an activity which has a series of buttons which when pressed should play an audio file. I have been trying to implement this using MediaPlayer however I cant get it to work.
Here is the code I have been trying:
final MediaPlayer mp = new MediaPlayer();
Button ger1play = (Button) findViewById(R.id.ger1play);ger1play.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
mp.setDataSource(this, R.raw.greet_1);
mp.prepare();
mp.start();
}
});
The setDateSource method doesnt seem to work, can anyone tell me where I am going wrong?
I would like to then set the mediaPlayer to the relevant audio file based on which button is pressed, is this possible?
Updated
final MediaPlayer mp = new MediaPlayer();
Button ger1play = (Button) findViewById(R.id.ger1play);ger1play.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
try {
Uri myUri = Uri.parse(R.raw.greet_1);
mp.setDataSource(GreetingsLesson.this, R.raw.greet_1);
mp.prepare();
mp.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
try this:
final MediaPlayer mp = new MediaPlayer();
Button ger1play = (Button) findViewById(R.id.ger1play);ger1play.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
try {
mp.setDataSource(CurrentActivity.this, R.raw.greet_1);
mp.prepare();
mp.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
Ifyou want to send the media player object with one of the files fromapplication raw resources or from application assets files you can dothat as follows:
try {
AssetFileDescriptor fd = getResources().openRawResouceFd(R.raw.greet_1);
mp.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength());
mp.start();
fd.close();
} catch (IllegalArgumentException e) {
// handle exception
} catch (IllegalStateException e) {
// handle exception
} catch (IOException e) {
// handle exception
}
Why not just use
mp = MediaPlayer.create(this, R.raw.greet_1);
Then you don't need the prepare or start.
Are you running this in an emulator? If so check your AVD manager has under hardware, the property "Audio playback support | yes" added