Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Милашечка
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 122
1

Уроки с медиаплеером

13.03.2016, 18:07. Просмотров 204. Ответов 4
Метки нет (Все метки)

За основу использую проект с сайта стартандроид - уроки с медиаплеером.
http://startandroid.ru/ru/uroki/vse-...mozhnosti.html
Учусь, пытаюсь разобраться.Хочу чтоб запустилось
Код набрала, сделала так как мне больше нравится..Но подсвечивает ошибки.. Сама очень плохо разбираю их.. Помогите разобраться, что к чему..
activity_main.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:android1="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp"
    tools:context=".MainActivity" >
 
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="60dp" >
 
        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:layout_weight="1"
            android:text="Выберите композицию"
            android:textAppearance="?android:attr/textAppearanceMedium" />
  
    
   
 
    <RadioGroup
        android1:id="@+id/radioGroup1"
        android1:layout_width="wrap_content"
        android1:layout_height="wrap_content"
        android1:layout_alignLeft="@+id/linearLayout2"
        android1:layout_below="@+id/linearLayout2"
        android1:layout_marginLeft="38dp" >
 
        <RadioButton
            android1:id="@+id/radio0"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:checked="true"
            android1:text="Apocalyptica" />
 
        <RadioButton
            android1:id="@+id/radio1"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:text="Сплин" />
 
        <RadioButton
            android1:id="@+id/radio2"
            android1:layout_width="wrap_content"
            android1:layout_height="wrap_content"
            android1:text="Bon Jovi" />
    </RadioGroup>
  </LinearLayout>
    
<LinearLayout
 android:id="@+id/linearLayout2"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentLeft="true"
 android:layout_alignParentRight="true"
 android:layout_below="@+id/linearLayout1"
 android:layout_marginTop="30dp">
    <Button
       android:id="@+id/btnPause"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:onClick="onClick"
 android:text="@string/pause"
 android:textSize="12sp">
</Button> 
    <Button
       android:id="@+id/btnResume"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:onClick="onClick"
 android:text="@string/resume"
 android:textSize="12sp">
</Button> 
    <Button
       android:id="@+id/btnStop"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:onClick="onClick"
 android:text="@string/stop"
 android:textSize="12sp">
</Button> 
<CheckBox
 android:id="@+id/chbLoop"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="@string/loop">
</CheckBox>
</LinearLayout>
    <LinearLayout
 android:id="@+id/linearLayout3"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentLeft="true"
 android:layout_alignParentRight="true"
 android:layout_below="@+id/linearLayout2"
 android:layout_marginTop="20dp">
    <Button
        android:id="@+id/btnBackward"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:onClick="onClick"
 android:text="@string/backward"
 android:textSize="12sp">
</Button> 
    <Button
       android:id="@+id/btnForward"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:onClick="onClick"
 android:text="@string/forward"
 android:textSize="12sp">
</Button> 
        
       <Button
 android:id="@+id/btnInfo"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:onClick="onClick"
 android:text="@string/info"
 android:textSize="12sp">
</Button> 
</LinearLayout>
</RelativeLayout>

MainActivity.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package com.example.player;
 
import java.io.IOException;
 
import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
 
public class MainActivity extends Activity implements OnPreparedListener,
    OnCompletionListener {
    //private static final String Finally = null;
final String LOG_TAG = "myLogs";
  MediaPlayer mediaPlayer;
  AudioManager am;
 CheckBox chbLoop;
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    am = (AudioManager) getSystemService(AUDIO_SERVICE);
   chbLoop = (CheckBox) findViewById(R.id.chbLoop);
   chbLoop.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView,
         boolean isChecked) {
       if (mediaPlayer != null)
         mediaPlayer.setLooping(isChecked);
      }
   });
  }
 
  public void onClickStart(View view) {
    releaseMP();
 
    try {
      switch (view.getId()) {
      
      case R.id.radio0:
        Log.d(LOG_TAG, "start Raw");
        mediaPlayer = MediaPlayer.create(this, R.raw.apocaliptica);
        mediaPlayer.start();
        break;
 
      case R.id.radio1:
          Log.d(LOG_TAG, "start Raw");
          mediaPlayer = MediaPlayer.create(this, R.raw.splin);
          mediaPlayer.start();
          break;
    
      case R.id.radio2:
          Log.d(LOG_TAG, "start Raw");
          mediaPlayer = MediaPlayer.create(this, R.raw.bon_jovi);
          mediaPlayer.start();
          break;
      };
 
  } 
    
   catch (IOException e) {
   e.printStackTrace();
  }
if (mediaPlayer == null)
     return;
 
   mediaPlayer.setLooping(chbLoop.isChecked());
    mediaPlayer.setOnCompletionListener(this); 
 
  }
 
  private void releaseMP() {
    if (mediaPlayer != null) {
      try {
        mediaPlayer.release();
        mediaPlayer = null;
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
  }
 
  public void onClick(View view) {
    if (mediaPlayer == null)
      return;
    switch (view.getId()) {
    case R.id.btnPause:
      if (mediaPlayer.isPlaying())
        mediaPlayer.pause();
      break;
    case R.id.btnResume:
      if (!mediaPlayer.isPlaying())
        mediaPlayer.start();
      break;
    case R.id.btnStop:
      mediaPlayer.stop();
      break;
    case R.id.btnBackward:
      mediaPlayer.seekTo(mediaPlayer.getCurrentPosition() - 3000);
      break;
    case R.id.btnForward:
      mediaPlayer.seekTo(mediaPlayer.getCurrentPosition() + 3000);
      break;
    case R.id.btnInfo:
      Log.d(LOG_TAG, "Playing " + mediaPlayer.isPlaying());
      Log.d(LOG_TAG, "Time " + mediaPlayer.getCurrentPosition() + " / "
          + mediaPlayer.getDuration());
      Log.d(LOG_TAG, "Looping " + mediaPlayer.isLooping());
      Log.d(LOG_TAG,
          "Volume " + am.getStreamVolume(AudioManager.STREAM_MUSIC));
      break;
 
    }
  }
 
  @Override
  public void onPrepared(MediaPlayer mp) {
    Log.d(LOG_TAG, "onPrepared");
    mp.start();
  }
 
  @Override
  public void onCompletion(MediaPlayer mp) {
    Log.d(LOG_TAG, "onCompletion");
  }
 
  @Override
  protected void onDestroy() {
    super.onDestroy();
    releaseMP();
  }
}
тот момент который подсвечивает - на скрине.. выбивает при наведении "Unreachable catch block for IOException. This exception is never thrown from the try statement body"..
Я просто не пойму, что от меня требуется сделать, чтоб исправить.. Или вообще нужно убрать эти строки?
0
Миниатюры
Уроки с медиаплеером  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2016, 18:07
Ответы с готовыми решениями:

Управление медиаплеером в службе
всем привет! прошу новичка сильно не ругать :) 1.есть приложение с 5...

Libgdx уроки посоветуйте
Привет! Посоветуйте уроки по LibGDX плиз. В гугле на первом месте сайт -...

Посоветуйте уроки Android
Вообще не могу разобраться с XML разметкой, на разных устройствах отображается...

Ищу уроки по opengl под android
Здравствуйте! С друзьями хотим написать игру под android, 2d аркаду (с...

Android за 24 часа. Есть видео уроки?
Есть ли где нибудь видео уроки по книжки &quot;Android за 24 часа&quot; ? Eclipse вышел...

4
Valakin
434 / 100 / 15
Регистрация: 21.02.2015
Сообщений: 785
13.03.2016, 18:18 2
Цитата Сообщение от Милашечка Посмотреть сообщение
Или вообще нужно убрать эти строки?
да, нужнр убрать, такой тип исключения не возможен в вашем блоке try
0
Милашечка
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 122
13.03.2016, 18:57  [ТС] 3
строки
Java
1
2
3
catch (IOException e) {
   e.printStackTrace();
  }
убрала - начало подсвечивать скобку, которая перед этими строками была.. При наведении на нее высвечивает"Syntax error, insert "Finally" to complete TryStatement"
Как правильно мне это "Finally" тогда прописать, и где?
0
Valakin
434 / 100 / 15
Регистрация: 21.02.2015
Сообщений: 785
13.03.2016, 21:39 4
Try тоже надо убрать
0
Милашечка
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 122
14.03.2016, 09:58  [ТС] 5
try убрала..получается switch у меня остался просто в onClickStart .. запускается... но переключая кнопку radio для каждой композиции - музыка не воспроизводится((
Почему?Чего-то все равно не хватает?? Я не понимаю..
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package com.example.player;
 
import java.io.IOException;
 
import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
 
public class MainActivity extends Activity implements OnPreparedListener,
    OnCompletionListener {
    
final String LOG_TAG = "myLogs";
  MediaPlayer mediaPlayer;
  AudioManager am;
 CheckBox chbLoop;
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    am = (AudioManager) getSystemService(AUDIO_SERVICE);
   chbLoop = (CheckBox) findViewById(R.id.chbLoop);
   chbLoop.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView,
         boolean isChecked) {
       if (mediaPlayer != null)
         mediaPlayer.setLooping(isChecked);
      }
   });
  }
 
  public void onClickStart(View view) {
    releaseMP();
 
   
      switch (view.getId()) {
      
      case R.id.radio0:
        Log.d(LOG_TAG, "start Raw");
        mediaPlayer = MediaPlayer.create(this, R.raw.apocaliptica);
        mediaPlayer.start();
        break;
 
      case R.id.radio1:
          Log.d(LOG_TAG, "start Raw");
          mediaPlayer = MediaPlayer.create(this, R.raw.splin);
          mediaPlayer.start();
          break;
    
      case R.id.radio2:
          Log.d(LOG_TAG, "start Raw");
          mediaPlayer = MediaPlayer.create(this, R.raw.bon_jovi);
          mediaPlayer.start();
          break;
      };
 
 
    
  
if (mediaPlayer == null)
     return;
 
   mediaPlayer.setLooping(chbLoop.isChecked());
    mediaPlayer.setOnCompletionListener(this); 
 
  }
 
  private void releaseMP() {
    if (mediaPlayer != null) {
      try {
        mediaPlayer.release();
        mediaPlayer = null;
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
  }
 
  public void onClick(View view) {
    if (mediaPlayer == null)
      return;
    switch (view.getId()) {
    case R.id.btnPause:
      if (mediaPlayer.isPlaying())
        mediaPlayer.pause();
      break;
    case R.id.btnResume:
      if (!mediaPlayer.isPlaying())
        mediaPlayer.start();
      break;
    case R.id.btnStop:
      mediaPlayer.stop();
      break;
    case R.id.btnBackward:
      mediaPlayer.seekTo(mediaPlayer.getCurrentPosition() - 3000);
      break;
    case R.id.btnForward:
      mediaPlayer.seekTo(mediaPlayer.getCurrentPosition() + 3000);
      break;
    case R.id.btnInfo:
      Log.d(LOG_TAG, "Playing " + mediaPlayer.isPlaying());
      Log.d(LOG_TAG, "Time " + mediaPlayer.getCurrentPosition() + " / "
          + mediaPlayer.getDuration());
      Log.d(LOG_TAG, "Looping " + mediaPlayer.isLooping());
      Log.d(LOG_TAG,
          "Volume " + am.getStreamVolume(AudioManager.STREAM_MUSIC));
      break;
 
    }
  }
 
  @Override
  public void onPrepared(MediaPlayer mp) {
    Log.d(LOG_TAG, "onPrepared");
    mp.start();
  }
 
  @Override
  public void onCompletion(MediaPlayer mp) {
    Log.d(LOG_TAG, "onCompletion");
  }
 
  @Override
  protected void onDestroy() {
    super.onDestroy();
    releaseMP();
  }
}
0
14.03.2016, 09:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2016, 09:58

Хочу совет:) (видео уроки Java и ознакомительные видео уроки интерфейса eclips)
Всем привет. Я вот только начал учить Java. Порадьте мне какие нибудь видео...

Уроки С++
Я вот решил заняться съемкой уроков по С++ для начинающих))) Просмотрите один...

уроки
Написать программу, которая по заданному номеру дня недели (целому числу от 1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru