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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 117
#1

Уроки с медиаплеером - Программирование Android

13.03.2016, 18:07. Просмотров 175. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Уроки с медиаплеером (Программирование Android):

Управление медиаплеером в службе - Программирование Android
всем привет! прошу новичка сильно не ругать :) 1.есть приложение с 5 активити: акт1,акт2,акт3,акт4,акт5 акт1 - launcher с...

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

Libgdx уроки посоветуйте - Программирование Android
Привет! Посоветуйте уроки по LibGDX плиз. В гугле на первом месте сайт - http://suvitruf.ru/libgdx/ Он норм? Может что то еще можно...

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

Ищу уроки по opengl под android - Программирование Android
Здравствуйте! С друзьями хотим написать игру под android, 2d аркаду (с интересным сюжетом на наш взгляд). Сторонний движок решили не...

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

4
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
13.03.2016, 18:18 #2
Цитата Сообщение от Милашечка Посмотреть сообщение
Или вообще нужно убрать эти строки?
да, нужнр убрать, такой тип исключения не возможен в вашем блоке try
0
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 117
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
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
13.03.2016, 21:39 #4
Try тоже надо убрать
0
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 117
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
Привет! Вот еще темы с ответами:

2D Уроки - OpenGL
Уроки opengl с уклоном на 2d. А то я нашёл только 3d.

Уроки - Delphi
Нужны какие-нибудь уроки по созданию простенького интерфейса, есть такие?

NX уроки - Софт
где можно найти уроки по NX плановые

уроки - Pascal
Написать программу, которая по заданному номеру дня недели (целому числу от 1 до 7) выводит на экран количество уроков в этот день.


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

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

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