Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7682703
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T18:37:43+00:00 2026-05-31T18:37:43+00:00

This code used to work. Then, maybe I changed something, somewhere (or if I

  • 0

This code used to work. Then, maybe I changed something, somewhere (or if I know Android right, an update introduced a bug in the media player). It stopped working on some devices! Especially my Nexus S (2.3.6).

The file test.m4a (17 775 201 bytes) was downloaded by the app. To verify its integrity, I copied it to the SD and played it on my PC. No problem! Also binary-compared it with the original file, and it matched 100%.

try {
    _mediaPlayer = new MediaPlayer();
    _mediaPlayer.setOnCompletionListener(this);
    _mediaPlayer.setOnPreparedListener(this);
    _mediaPlayer.setOnSeekCompleteListener(this);
    _mediaPlayer.setOnBufferingUpdateListener(this);
    _mediaPlayer.setOnInfoListener(this);
    _mediaPlayer.setOnErrorListener(this);

    // I even tried reading the file from SD card. Same error...
    File file = new File("/data/data/com.mycompany.myapp/files/MediaCache/Test.m4a");
    // file.isFile() == true
    // file.length() == expected value!

    FileInputStream is = new FileInputStream(file);
    _mediaPlayer.setDataSource(is.getFD()); // Throws!
    // If I use the filename as parameter, it throws later when preparing the media player...

    _mediaPlayer.prepareAsync();
}
catch (Exception e) {
    // java.io.IOException: setDataSourceFD failed.: status=0x80000000
    e.printStackTrace();
}

Q: What might cause this IOException for setDataSourceFD when the file is indeed valid?

UPDATE: Here’s a 98 kB audio file that I cannot play on my Nexus S (2.3.6):
http://www.2shared.com/audio/wUKoRiQk/test.html

A friend of mine runs some ZTE device (2.2) and it seems to work. I don’t get it!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T18:37:44+00:00Added an answer on May 31, 2026 at 6:37 pm

    I would like to tell you that MediaPlayer is running and working correctly. Below are all my hypothesis. Don’t take them too seriously.

    It is your test.m4a file that is encoded in a format such that MediaPlayer can’t decode, therefore throwing out an error saying that it can’t create the MediaPlayer for you to use. Seems like you encoded it in some FFmpeg codecs you had on your computer. It would be better if you tried creating the file without using advanced codecs such as FFmpeg, as Android can’t decode advanced codecs on the fly.

    However, I do not have the answer to why some smartphones can play your M4A file, while others can’t. My suggestion for you is to use a simple OGG format that Audacity already has installed, for all of your Android projects, because the OGG codec what Audacity has, is simple enough for Android to decode on the fly. I’m not claiming that many devs are using mostly OGG, just that OGG doesn’t seem to have a lot of problems with MediaPlayer and SoundPool when using simple codecs. Needs more researching…

    Even my book, Beginning Android 4 Game Development, depends on OGG files.

    Here’s my proof below. This is the file “test.m4a” I’m using from your link. I made it so that it runs in a endless loop, making it a 100% proof of evidence:

    03-18 01:05:22.826: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:22.826: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:22.936: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:22.936: I/MediaPlayer(1289): IOException...
    03-18 01:05:22.936: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:22.936: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:23.037: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:23.046: I/MediaPlayer(1289): IOException...
    03-18 01:05:23.046: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:23.046: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:23.146: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:23.146: I/MediaPlayer(1289): IOException...
    03-18 01:05:23.146: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:23.156: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:23.256: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:23.256: I/MediaPlayer(1289): IOException...
    03-18 01:05:23.256: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:23.256: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:23.366: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:23.366: I/MediaPlayer(1289): IOException...
    03-18 01:05:23.366: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:23.366: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:23.476: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:23.476: I/MediaPlayer(1289): IOException...
    03-18 01:05:23.476: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:23.476: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:23.586: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:23.586: I/MediaPlayer(1289): IOException...
    03-18 01:05:23.586: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:23.586: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:23.696: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:23.696: I/MediaPlayer(1289): IOException...
    03-18 01:05:23.696: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:23.696: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:23.806: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:23.806: I/MediaPlayer(1289): IOException...
    03-18 01:05:23.806: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:23.806: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:23.917: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:23.917: I/MediaPlayer(1289): IOException...
    03-18 01:05:23.917: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:23.917: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:24.026: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:24.026: I/MediaPlayer(1289): IOException...
    03-18 01:05:24.026: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:24.026: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:24.136: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:24.136: I/MediaPlayer(1289): IOException...
    03-18 01:05:24.136: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:24.136: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:24.246: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:24.246: I/MediaPlayer(1289): IOException...
    03-18 01:05:24.246: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:24.246: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:24.356: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:24.356: I/MediaPlayer(1289): IOException...
    03-18 01:05:24.356: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:24.356: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:24.466: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:24.466: I/MediaPlayer(1289): IOException...
    03-18 01:05:24.466: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:24.466: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:24.856: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:24.856: I/MediaPlayer(1289): IOException...
    03-18 01:05:24.856: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:24.856: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:25.017: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:25.017: I/MediaPlayer(1289): IOException...
    03-18 01:05:25.017: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:25.017: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:25.146: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:25.157: I/MediaPlayer(1289): IOException...
    03-18 01:05:25.157: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:25.157: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:25.266: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:25.266: I/MediaPlayer(1289): IOException...
    03-18 01:05:25.266: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:25.266: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:25.376: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:25.376: I/MediaPlayer(1289): IOException...
    03-18 01:05:25.376: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:25.376: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:25.486: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:25.486: I/MediaPlayer(1289): IOException...
    03-18 01:05:25.486: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:25.486: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:25.586: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:25.586: I/MediaPlayer(1289): IOException...
    03-18 01:05:25.586: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:25.586: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:25.696: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:25.696: I/MediaPlayer(1289): IOException...
    03-18 01:05:25.696: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:25.696: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:25.806: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:25.806: I/MediaPlayer(1289): IOException...
    03-18 01:05:25.806: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:25.806: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:25.916: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:25.916: I/MediaPlayer(1289): IOException...
    03-18 01:05:25.916: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:25.916: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:26.026: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:26.026: I/MediaPlayer(1289): IOException...
    03-18 01:05:26.026: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:26.026: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:26.136: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:26.136: I/MediaPlayer(1289): IOException...
    03-18 01:05:26.136: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:26.136: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:26.246: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:26.246: I/MediaPlayer(1289): IOException...
    03-18 01:05:26.246: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:26.246: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:26.356: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:26.356: I/MediaPlayer(1289): IOException...
    03-18 01:05:26.356: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:26.356: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:26.466: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:26.466: I/MediaPlayer(1289): IOException...
    03-18 01:05:26.466: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:26.466: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:26.577: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:26.577: I/MediaPlayer(1289): IOException...
    03-18 01:05:26.577: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:26.577: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:26.697: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:26.697: I/MediaPlayer(1289): IOException...
    03-18 01:05:26.697: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:26.697: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:26.807: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:26.807: I/MediaPlayer(1289): IOException...
    03-18 01:05:26.807: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:26.807: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:26.917: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:26.917: I/MediaPlayer(1289): IOException...
    03-18 01:05:26.917: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:26.917: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:27.027: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:27.027: I/MediaPlayer(1289): IOException...
    03-18 01:05:27.027: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:27.027: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:27.137: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:27.137: I/MediaPlayer(1289): IOException...
    03-18 01:05:27.137: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:27.137: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:27.236: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:27.236: I/MediaPlayer(1289): IOException...
    03-18 01:05:27.236: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:27.236: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:27.347: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:27.347: I/MediaPlayer(1289): IOException...
    03-18 01:05:27.347: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:27.347: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:27.457: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:27.457: I/MediaPlayer(1289): IOException...
    03-18 01:05:27.457: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:27.457: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:27.567: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:27.567: I/MediaPlayer(1289): IOException...
    03-18 01:05:27.567: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:27.567: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:27.677: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:27.677: I/MediaPlayer(1289): IOException...
    03-18 01:05:27.677: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:27.677: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:27.787: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:27.787: I/MediaPlayer(1289): IOException...
    03-18 01:05:27.787: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:27.787: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:27.907: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:27.907: I/MediaPlayer(1289): IOException...
    03-18 01:05:27.907: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:27.907: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:28.007: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:28.017: I/MediaPlayer(1289): IOException...
    03-18 01:05:28.017: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:28.017: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:28.127: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:28.127: I/MediaPlayer(1289): IOException...
    03-18 01:05:28.127: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:28.127: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:28.237: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:28.237: I/MediaPlayer(1289): IOException...
    03-18 01:05:28.237: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:28.237: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:28.347: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:28.347: I/MediaPlayer(1289): IOException...
    03-18 01:05:28.347: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:28.347: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:28.457: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:28.457: I/MediaPlayer(1289): IOException...
    03-18 01:05:28.457: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:28.457: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:28.567: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:28.567: I/MediaPlayer(1289): IOException...
    03-18 01:05:28.567: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:28.567: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:28.677: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:28.677: I/MediaPlayer(1289): IOException...
    03-18 01:05:28.677: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:28.677: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:28.787: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:28.787: I/MediaPlayer(1289): IOException...
    03-18 01:05:28.787: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:28.787: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:28.907: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:28.907: I/MediaPlayer(1289): IOException...
    03-18 01:05:28.907: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:28.907: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:29.017: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:29.017: I/MediaPlayer(1289): IOException...
    03-18 01:05:29.017: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:29.017: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:29.127: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:29.127: I/MediaPlayer(1289): IOException...
    03-18 01:05:29.127: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:29.127: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:29.237: E/MediaPlayer(1289): Unable to to create media player
    03-18 01:05:29.237: I/MediaPlayer(1289): IOException...
    03-18 01:05:29.237: D/MediaPlayer(1289): Making sure it is in IDLE state...
    03-18 01:05:29.237: D/MediaPlayer(1289): Setting Data Source...
    03-18 01:05:29.327: D/dalvikvm(1289): Calling exit(1)
    

    Now, here’s the code I made, shown below:

    package nttu.edu.test;
    
    import java.io.IOException;
    
    import android.app.Activity;
    import android.content.res.AssetFileDescriptor;
    import android.content.res.AssetManager;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnTouchListener;
    import android.widget.TextView;
    
    public class MediaPlayerTest extends Activity implements OnTouchListener {
        MediaPlayer player = null;
        TextView tv;
        public final String fileName = "sounds/test.m4a";
        AssetManager asset;
        AssetFileDescriptor afd;
    
        public void onCreate(Bundle b) {
            super.onCreate(b);
            tv = new TextView(this);
            tv.setOnTouchListener(this);
            tv.setText("Touch to start playing the music.");
            Log.d("MediaPlayer", "Creating MediaPlayer.");
            player = new MediaPlayer();
    
            try {
                asset = this.getAssets();
                afd = asset.openFd(fileName);
            }
            catch (Exception e) {
            }
            while (true) {
                try {
                    Log.d("MediaPlayer", "Making sure it is in IDLE state...");
                    player.reset();
                    Log.d("MediaPlayer", "Setting Data Source...");
                    player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
                    Log.d("MediaPlayer", "Now initialized. Preparing it.");
                    player.prepare();
                    break;
                }
                catch (IllegalArgumentException e) {
                    Log.i("MediaPlayer", "IllegalArgumentException...");
                }
                catch (IllegalStateException e) {
                    Log.i("MediaPlayer", "IllegalStateException...");
                }
                catch (IOException e) {
                    Log.i("MediaPlayer", "IOException...");
                }
            }
            try {
                afd.close();
            }
            catch (IOException e) {
            }
            setContentView(tv);
            Log.d("MediaPlayer", "Everything is prepared and ready to play the music file.");
        }
    
        public boolean onTouch(View v, MotionEvent e) {
            if (e.getAction() == MotionEvent.ACTION_UP) {
                Log.d("MediaPlayer", "Playing the audio.");
                if (player.getAudioSessionId() != 0) {
                    player.start();
                    Log.d("MediaPlayer", "Success!");
                }
            }
            return true;
        }
    
        protected void onResume() {
            super.onResume();
    
        }
    
        protected void onPause() {
            super.onPause();
            if (player.getAudioSessionId() != 0) {
                player.pause();
                if (isFinishing()) {
                    player.stop();
                    player.release();
                }
            }
        }
    }
    

    Notice the final String variable near the top of the code snippet. If I replace that line with this:

    public final String fileName = "sounds/test.ogg";
    

    And re-encode your “test.m4a” file to an Ogg Vorbis file, and no other changes in the code, I can play the OGG file just fine. Here are the change logs for the OGG file:

    03-18 01:14:21.547: D/gralloc_goldfish(1335): Emulator without GPU emulation detected.
    03-18 01:14:23.467: D/dalvikvm(1335): GC_CONCURRENT freed 50K, 4% free 5952K/6151K, paused 7ms+3ms
    03-18 01:14:24.647: D/MediaPlayer(1335): Creating MediaPlayer.
    03-18 01:14:24.657: D/MediaPlayer(1335): Making sure it is in IDLE state...
    03-18 01:14:24.657: D/MediaPlayer(1335): Setting Data Source...
    03-18 01:14:24.707: D/MediaPlayer(1335): Now initialized. Preparing it.
    03-18 01:14:24.927: D/MediaPlayer(1335): Everything is prepared and ready to play the music file.
    03-18 01:14:26.797: D/MediaPlayer(1335): Playing the audio.
    03-18 01:14:26.817: D/MediaPlayer(1335): Success!
    

    And then it stops here. There’s no looping going around.

    More evidence to support my answer:

    Link 1: Android SDK Reference (Do look at the State Diagram, very important!)

    And a picture (Image of your “test.m4a” and your file re-encoded into an OGG file, placed side-by-side.):

    Image of your "test.m4a" and your file re-encoded into an OGG file, placed side-by-side.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

This code used to work but doesnt any more. i used a breakpoint, and
...at least to me. This code used to work fine. I'm pretty sure nothing
This piece of code used to work in MVC 1 but it does not
this code in my plugin used to work just fine: jQuery('#embedded_obj', context).get(0).getVersion(); and the
This code used to return my local ip address as 192.xxx.x.xxx but now it
I have used this code for extracting urls from web page.But in the line
I used this code to print the current page: <form> <input type=button value=Print onClick=window.print();
On a Vista dev machine I used this code successfully to change user Administrator
I am creating a rails app and have used this code in one of
I am trying to rotate an image in OpenCV. I've used this code that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.