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

Аудио в WebView - Android

Восстановить пароль Регистрация
 
lewiza
0 / 0 / 0
Регистрация: 02.03.2016
Сообщений: 6
02.03.2016, 20:28     Аудио в WebView #1
Всем вечер добрый!

Возник такой вопрос: как добавить аудио в в webview. На леденце после добавления в html тега все работает, а на версиях android ниже не хочет.
HTML5
1
2
3
4
<audio controls>
    <source src=file:///android_asset/sound_example_5.mp3" type="audio/ogg; codecs=vorbis">
    <source src="file:///android_asset/sound_example_5.mp3" type="audio/mpeg">
</audio>
Добавил MyWebViewClient с таким кодом:
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
package net.test.example;
 
        import java.io.IOException;
 
        import android.content.Context;
        import android.content.res.AssetFileDescriptor;
        import android.media.MediaPlayer;
        import android.util.Log;
        import android.webkit.WebView;
        import android.webkit.WebViewClient;
 
public class MyWebViewClient extends WebViewClient{
 
    public MediaPlayer mp;
    private Context context = null;
 
    public MyWebViewClient(Context c){
        this.context = c;
        mp = new MediaPlayer();
    }
 
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url){
        if(url.endsWith(".mp3")){
            url = url.replace("file:///android_asset/webpages/", "");
            Log.i("MyWebViewClient", url);
            try {
                AssetFileDescriptor afd = context.getAssets().openFd(url);
                mp = new MediaPlayer();
                mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
                afd.close();
                mp.prepare();
                mp.start();
            } catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalStateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
 
 
            return true;
        }else{
            return true;
        }
    }
}
Но для его вызова я так понимаю нужно еще добавить MainActivity.
Что конкретно добавить? Прошу написать очень подробно, так как знания java не не сильно высоки, только познаю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2016, 20:28     Аудио в WebView
Посмотрите здесь:

Android WebView
Android WebView ошибка
WebView Android
Android Из WebView в TextView
Прозрачность WebView Android
Android Webview
Отработать JS в WebView Android
Android WebView в фоне
Android WebView + JSOUP
Android Webview на фрагменте
Android Замена WebView
WebView - Height Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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