2016-04-29 1 views
1

Я пытаюсь работать над своим проектом в Android Studio. Я пытаюсь отслеживать некоторые учебные пособия в Интернете и руководствах YouTube, но пока ничего не работает. Должен быть способ заставить мой код работать. То, что я делаю в своем проекте, - это музыкальный плеер с ToggleButton для воспроизведения/паузы. Я попытался запустить код в Android Studio, но он неожиданно сбой приложения. Вот код, который я бегу в MainActivity:Помощь ToggleButton в студии android

package com.example.hamzeh.playpausestop; 

import android.media.MediaPlayer; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ToggleButton; 

public class MainActivity extends AppCompatActivity { 

    MediaPlayer Sound; 
    int pause; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    public void stop(View view) 
    { 
     Sound.release(); 
    } 

    public void onToggleClicked(View view) 
    { 
     boolean checked = ((ToggleButton)view).isChecked(); 

     if (checked) 
     { 
      Sound.start(); 
      //Play 
     } 
     else 
     { 
      Sound.pause(); 
      pause = Sound.getCurrentPosition(); 
      //Pause 
     } 

    } 

} 

(Кстати, это мой первый пост в переполнение стека)

ответ

0
результат

Опубликуйте LogCat я дам лучше ответить на ваш класс не имеют никакой инициализации звукового объекта, а также проверить xml onClick tag - onToggleClicked и stop определено или нет.

public class MainActivity extends AppCompatActivity { 

MediaPlayer Sound; 
int pause; 
// 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    // initialize Mediaplayer here for single sound 
    Sound= MediaPlayer.create(MainActivity.this, R.raw.UrSoundFileInRawFolder); 

} 

public void stop(View view){ 
    Sound.release(); 
} 

public void onToggleClicked(View view){ 
    boolean checked = ((ToggleButton)view).isChecked(); 

    if (checked && !Sound.isPlaying() && Sound!=null){ 
     Sound.start(); 
    } 
    else if(Sound.isPlaying()){ 
      Sound.pause(); 
      pause = Sound.getCurrentPosition(); 
    } esle{ 
     Toast.makeText(MainActivity.this, "SomeThingWrong", Toast.LENGTH_SHORT).show(); 
    } 
    } 
} 
+0

Как я могу показать вам свой LogCat здесь ?. в теге onClick уже есть «onToggleClicked». Что значит «остановка», определяется или нет. Вы имеете в виду в XML или в MainActivity? –

+0

Это мой тумблер: И это моя остановка одна: <Кнопка андроид: layout_width = "wrap_content " android: layout_height =" wrap_content " android: text =" stop " android: onClick =" stop " android: id = "@ + id/Stop" /> –

+0

Кроме того, мне не нужен CompoundButton в начале моего публичного класса? –