2016-10-08 25 views
0

我是一個非常初學者,並試圖使我的第一個應用程序與按鈕,按下時會播放聲音...我認爲一個音板。MediaPlayer給出錯誤(262,0)

E/MediaPlayer的:應具有副標題控制器已經設置

E/MediaPlayer的:錯誤(262,0)

當我點擊按鈕第二時間:

E/MediaPlayer:錯誤(-38,0)

Thes e爲我這個簡單的代碼獲得錯誤:

public class MainActivity extends AppCompatActivity {protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final MediaPlayer m1 = MediaPlayer.create(getApplicationContext(), R.raw.s1); 
    Button b1 = (Button) findViewById(R.id.s1); 
    b1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      m1.start(); 
     } 
    });} 

「s1.mp3」是在原文件夾中,大約3-4秒長,我認爲這不是問題...... 我不明白我在做什麼錯 - 一個在線教程告訴我所有這些,有一個類似的代碼... 請幫助我,正如我所說,我是一名初學者開發人員,所以我需要幫助... 先謝謝您!

UPDATE:

public class MainActivity extends AppCompatActivity { 
MediaPlayer m1; 
protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    m1 = MediaPlayer.create(MainActivity.this, R.raw.s1); 
    Button b1 = (Button) findViewById(R.id.s1); 
    b1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      m1.start(); 
     } 
    });} 
} 

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.antiriad7.zviadi.MainActivity" 
android:orientation="vertical"> 
<LinearLayout 
    android:layout_height="0dp" 
    android:layout_width="fill_parent" 
    android:layout_weight="25" 
    android:id="@+id/l1"> 
    <Button 
     android:layout_width="0dp" 
     android:layout_weight="33" 
     android:text="S1" 
     android:id="@+id/s1" 
     android:layout_height="match_parent" /> 
    <Button 
     android:layout_width="0dp" 
     android:layout_weight="34" 
     android:text="S2" 
     android:id="@+id/s2" 
     android:layout_height="match_parent" /> 
    <Button 
     android:layout_width="0dp" 
     android:layout_weight="33" 
     android:text="S3" 
     android:id="@+id/s3" 
     android:layout_height="match_parent" /> 
</LinearLayout> 
<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="25" 
    android:layout_below="@+id/l1" 
    android:id="@+id/l2"> 

    <Button 
     android:layout_width="0dp" 
     android:layout_weight="33" 
     android:text="S4" 
     android:id="@+id/s4" 
     android:layout_height="match_parent" /> 
    <Button 
     android:layout_width="0dp" 
     android:layout_weight="34" 
     android:text="S5" 
     android:id="@+id/s5" 
     android:layout_height="match_parent" /> 
    <Button 
     android:layout_width="0dp" 
     android:layout_weight="33" 
     android:text="S6" 
     android:id="@+id/s6" 
     android:layout_height="match_parent" /> 
</LinearLayout> 
<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_below="@+id/l2" 
    android:layout_weight="25" 
    android:id="@+id/l3"> 

    <Button 
     android:layout_width="0dp" 
     android:layout_weight="33" 
     android:text="S7" 
     android:id="@+id/s7" 
     android:layout_height="match_parent" /> 
    <Button 
     android:layout_width="0dp" 
     android:layout_weight="34" 
     android:text="S8" 
     android:id="@+id/s8" 
     android:layout_height="match_parent" /> 
    <Button 
     android:layout_width="0dp" 
     android:layout_weight="33" 
     android:text="S9" 
     android:id="@+id/s9" 
     android:layout_height="match_parent" /> 
</LinearLayout> 
<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_below="@+id/l3" 
    android:layout_weight="25" 
    android:id="@+id/l4"> 

    <Button 
     android:layout_width="0dp" 
     android:layout_weight="33" 
     android:text="S10" 
     android:id="@+id/s10" 
     android:layout_height="match_parent" /> 
    <Button 
     android:layout_width="0dp" 
     android:layout_weight="34" 
     android:text="S11" 
     android:id="@+id/s11" 
     android:layout_height="match_parent" /> 
    <Button 
     android:layout_width="0dp" 
     android:layout_weight="33" 
     android:text="S12" 
     android:id="@+id/s12" 
     android:layout_height="match_parent" /> 
</LinearLayout> 
</LinearLayout> 
+0

你的mp3歌曲播放與否按鈕點擊?? –

+0

不,它不玩... – antiriad7

+0

看我已更新回答 –

回答

1

在MediaPlayer開始播放音樂,它會檢查是否有SubtitleController,並顯示此消息,如果它沒有設置。它似乎並不在乎您想播放的音樂來源是音樂還是視頻。不知道他爲什麼這樣做。

不關心這個「例外」。

要刪除此異常遵循此步驟:

  1. 軌道上右鍵單擊(您的原始文件夾.MP3文件)
  2. 然後選擇屬性
  3. 選擇詳情
  4. 然後將歌曲文本(標題)上的字幕
  5. 完成

更新

public class MainActivity extends AppCompatActivity { 

Mediaplayer m1; 

protected void onCreate(Bundle savedInstanceState){ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
m1 = MediaPlayer.create(MainActivity.this, R.raw.s1); 
Button b1 = (Button) findViewById(R.id.s1); 
b1.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     m1.start(); 
    } 
});} 

我希望它爲你工作

+0

我無法編輯副標題...也許我應該從android studio本身做些什麼?這會修復並使按鈕播放聲音? – antiriad7

+0

不關心這個異常。你是否根據我的回答更新你的代碼? –

+0

並全球聲明你的mediaplayer變量 –

0

保持你的XML就像它是,然後改變你的MainActivity代碼正是這一點:

public class MainActivity extends AppCompatActivity { 

    MediaPlayer m1; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     m1 = MediaPlayer.create(MainActivity.this, R.raw.s1); 
     Button b1 = (Button) findViewById(R.id.s1); 
     b1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       m1.start(); 
      } 
     }); 
    } 
} 

然後做一個Build - - >在Android Studio中清理項目,然後運行它。它工作嗎?什麼是錯誤?

+0

當我第一次點擊時,我得到E/MediaPlayer:error(262,0)。手機不會死機,但不會播放聲音。 – antiriad7