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

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

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

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

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

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

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

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

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

Уроки - MS Access
Дайте пожалуйста ссылки на нормальные уроки, из которых можно будет научиться создавать формы, с помощью которых заполнять таблицы, а так...

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

уроки С++ - C++
Здравствуйте обитатели форума, я на вашем форуме новенький, появилось желание научиться программировать на языке С++, до этого немного...

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

Уроки JS - JavaScript
Всем привет! Знаю что есть разные сайты в виде игры в которых даются задания и тебе надо их выполнить. Например для питона...

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


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

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

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