Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 98
13.03.2016, 18:07     Уроки с медиаплеером #1
За основу использую проект с сайта стартандроид - уроки с медиаплеером.
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"..
Я просто не пойму, что от меня требуется сделать, чтоб исправить.. Или вообще нужно убрать эти строки?
Миниатюры
Уроки с медиаплеером  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2016, 18:07     Уроки с медиаплеером
Посмотрите здесь:

Delphi Уроки
Уроки по БД Delphi БД
Android Ищу уроки по opengl под android
Android за 24 часа. Есть видео уроки? Android
Java Хочу совет:) (видео уроки Java и ознакомительные видео уроки интерфейса eclips)
2D Уроки OpenGL
NX уроки Софт
Уроки JS JavaScript
Посоветуйте уроки Android Android
Android Управление медиаплеером в службе
Android Libgdx уроки посоветуйте

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Valakin
 Аватар для Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 713
13.03.2016, 18:18     Уроки с медиаплеером #2
Цитата Сообщение от Милашечка Посмотреть сообщение
Или вообще нужно убрать эти строки?
да, нужнр убрать, такой тип исключения не возможен в вашем блоке try
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 98
13.03.2016, 18:57  [ТС]     Уроки с медиаплеером #3
строки
Java
1
2
3
catch (IOException e) {
   e.printStackTrace();
  }
убрала - начало подсвечивать скобку, которая перед этими строками была.. При наведении на нее высвечивает"Syntax error, insert "Finally" to complete TryStatement"
Как правильно мне это "Finally" тогда прописать, и где?
Valakin
 Аватар для Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 713
13.03.2016, 21:39     Уроки с медиаплеером #4
Try тоже надо убрать
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 98
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();
  }
}
Yandex
Объявления
14.03.2016, 09:58     Уроки с медиаплеером
Ответ Создать тему
Опции темы

Текущее время: 07:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru