【问题标题】:mediaPlayer doesn't play媒体播放器不播放
【发布时间】:2014-11-14 13:55:17
【问题描述】:

我正在尝试在背景中构建一个带有音乐的启动画面,但音乐没有播放。

这是我的代码:

    package com.example.thebasicseries;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;  

public class MainActivity extends ActionBarActivity {
    MediaPlayer logoMusic;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);

        logoMusic = MediaPlayer.create(MainActivity.this,R.raw.techno );
        Thread logoTimer = new Thread(){
            public void run(){
                try{
                    sleep(5000);
                    Intent menuIntent = new Intent("com.example.thebasicseries.MENU");
                    startActivity(menuIntent);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                finally{
                    finish();
                }
            }

        };
        logoTimer.start();
        logoMusic.release();
    }

在运行应用程序之前或之后没有显示任何错误消息。

【问题讨论】:

  • 你需要 logoMusic.play() 来播放音乐。我只看到创建和发布。
  • 没有 .play() 我试过了。它以前可以工作,但我不明白为什么它停止工作,可能是因为我一直在玩代码。
  • 我建议您使用 AsyncTask 在自己的线程中播放背景音乐 - 请参阅此示例 link

标签: java android media-player splash-screen


【解决方案1】:

大声笑,你创建了 MP:

logoMusic = MediaPlayer.create(MainActivity.this,R.raw.techno );

但永远不要玩它:

logoMusic.play(); 

【讨论】:

    【解决方案2】:

    最好从视频中剪下启动画面的特定部分,然后像 gif 图像一样使用它会起作用

    【讨论】:

      【解决方案3】:

      我已经成功了!

          package com.example.thebasicseries;
      
      
      import android.support.v7.app.ActionBarActivity;
      import android.content.Intent;
      import android.media.MediaPlayer;
      import android.os.Bundle;
      import android.view.Menu;
      import android.view.MenuItem;
      
      
      public class MainActivity extends ActionBarActivity {
          MediaPlayer logoMusic;
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.splash);
      
              logoMusic = MediaPlayer.create(MainActivity.this,R.raw.techno );
              logoMusic.start();
              Thread logoTimer = new Thread(){
                  public void run(){
                      try{
                          sleep(5000);
                          Intent menuIntent = new Intent("com.example.thebasicseries.MENU");
                          startActivity(menuIntent);
                      } catch (InterruptedException e) {
                          // TODO Auto-generated catch block
                          e.printStackTrace();
                      }
                      finally{
                          finish();
                      }
                  }
      
              };
              logoTimer.start();
      
          }
          @Override //so i just create an onPause method and release my song
      
          protected void onPause() {
              // TODO Auto-generated method stub
              super.onPause();
              logoMusic.release(); //while it is onPause i release the song
          }
      
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-19
        • 2012-03-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多