2014-11-14 102 views
0

我想在后台创建一个带有音乐的闪屏,但音乐不播放。mediaPlayer不播放

这里是我的代码:

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(); 
    } 

没有之前或在运行该应用程序后显示的错误信息。

+0

需要logoMusic.play()才能播放音乐。我只看到创建和发布。 – Wildroid 2014-11-14 13:59:24

+0

没有.play(),因为我试过。它在工作之前,但我不明白为什么它停止工作,也许是因为我一直在玩代码。 – jass 2014-11-14 14:04:55

+0

我建议你使用AsyncTask在自己的线程中播放背景音乐 - 请参阅此示例[链接](http://stackoverflow.com/a/16338215/4123144) – Wildroid 2014-11-14 14:15:18

回答

0

LOL,你创建的MP:

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

但从来没有发挥它:

logoMusic.play(); 
0

更好地从视频削减特定部分的闪屏,并使用它像GIF图片,将工作

+0

好主意。将尝试它! – jass 2014-11-14 14:22:59

+0

@jass投票回答 – 2014-11-15 04:07:38

0

我有它的工作!

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 
    } 


}