在播放使用的Andr​​oid的WebView一个网址 [英] Playing a URL using WebView in android

查看:123
本文介绍了在播放使用的Andr​​oid的WebView一个网址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只需要知道如何在Android的玩这个下面的链接...我试图在模拟器其工作但不是在设备为什么.....帮助是AP preciated ......

  http://stream.radiosai.net:8002/


解决方案

我已经在我的实现播放音频流app.Directly我在这里复制粘贴此code上卸下摆臂不必要的数据,并使用它。我已经测试您的链接它,是为我工作。

 进口java.io.IOException异常;进口android.app.Activity;
进口android.app.ProgressDialog;
进口android.graphics.drawable.AnimationDrawable;
进口android.media.AudioManager;
进口android.media.MediaPlayer;
进口android.media.MediaPlayer.OnBufferingUpdateListener;
进口android.media.MediaPlayer.OnErrorListener;
进口android.media.MediaPlayer.OnInfoListener;
进口android.media.MediaPlayer.On preparedListener;
进口android.os.Bundle;
进口android.os.Handler;
进口android.os.Message;
进口android.widget.CompoundButton;
进口android.widget.CompoundButton.OnCheckedChangeListener;
进口android.widget.ImageView;
进口android.widget.ToggleButton;公共类StreamAudio扩展活动实现了在preparedListener,
         OnErrorListener {    MediaPlayer的熔点;
    私人切换按钮BTN;
    私人ImageView的IMG;
    私人布尔标志= FALSE;
    AnimationDrawable frameAnimation;
    ProgressDialog进展情况;
     字符串URL =htt​​p://stream.radiosai.net:8002/;    @覆盖
    公共无效的onCreate(捆绑冰柱){
        super.onCreate(冰柱);
        的setContentView(R.layout.main);        BTN =(切换按钮)findViewById(R.id.play);
        IMG =(ImageView的)findViewById(R.id.radio_image);        img.setBackgroundResource(R.drawable.frames);
        frameAnimation =(AnimationDrawable)img.getBackground();        熔点为新的MediaPlayer();        进度= ProgressDialog.show(这一点,空,载入中...,假的,真正的);        可运行R =新的Runnable(){            @覆盖
            公共无效的run(){
                setPlayBack();
            }
        };
        主题日=新主题(R);
        th.start();
            mp.setOn preparedListener(本);
            //mp.setOnBufferingUpdateListener(this);
            mp.setOnErrorListener(本);
        // mp.setOnInfoListener(本);
            btn.setOnCheckedChangeListener(新OnCheckedChangeListener(){                @覆盖
                公共无效onCheckedChanged(CompoundButton buttonView,布尔器isChecked){                    如果(标志)
                    {                        如果(!器isChecked)
                        {
                                btn.setBackgroundResource(R.drawable.btn_stop);
                                mp.start();
                                frameAnimation.start();
                        }                        其他
                        {
                            btn.setBackgroundResource(R.drawable.btn_play);
                            frameAnimation.stop();
                            mp.stop();
                            mp.reset();
                            标志= FALSE;
                        }
                    }
                    其他
                    {
                        btn.setChecked(假);                        进度= ProgressDialog.show(StreamAudio.this,NULL,载入中...,假的,假的);
                        可运行R =新的Runnable(){                            @覆盖
                            公共无效的run(){
                                // TODO自动生成方法存根
                                setPlayBack();
                            }
                        };
                        主题日=新主题(R);
                        th.start();
                    }                }
            });
    }    @覆盖
    保护无效的onDestroy(){        super.onDestroy();
        mp.release();    }    @覆盖
    在prepared(MediaPlayer的MP)公共无效{        标志=真实的;
        handler.sendEmptyMessage(0);
    }
    @覆盖
    公共布尔的onError(MediaPlayer的熔点,诠释了什么,整型附加){        mp.release();
        返回false;
    }
        私人无效setPlayBack()
        {
            mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
                尝试{
                    mp.setDataSource(URL);
                }赶上(抛出:IllegalArgumentException E1){
                    e1.printStackTrace();
                }赶上(E1 IllegalStateException异常){
                    e1.printStackTrace();
                }赶上(IOException异常E1){
                    e1.printStackTrace();
                }
                。MP prepareAsync();
        }
        私人处理程序处理程序=新的处理程序(){
            @覆盖
            公共无效的handleMessage(消息MSG){
                progress.dismiss();
                btn.setBackgroundResource(R.drawable.btn_stop);
                frameAnimation.start();
                mp.start();
            }
        };
}

main.xml中:

 <?XML版本=1.0编码=UTF-8&GT?;
<的RelativeLayout的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:方向=垂直的android:layout_width =FILL_PARENT
    机器人:layout_height =FILL_PARENT>
    <的LinearLayout机器人:layout_alignParentBottom =真
        机器人:比重=中心的android:layout_width =FILL_PARENT
        机器人:背景=@绘制/ bottom_bar机器人:layout_height =WRAP_CONTENT>        <切换按钮的android:背景=@绘制/ btn_stop机器人:检查=false的机器人:ID =@ + ID /播放机器人:textOff =机器人:纹元=
            机器人:layout_width =WRAP_CONTENT机器人:layout_height =WRAP_CONTENT>< /切换按钮>
    < / LinearLayout中>
    < ImageView的机器人:ID =@ + ID / radio_image
        机器人:layout_height =WRAP_CONTENT的android:layout_width =WRAP_CONTENT
        机器人:layout_centerInParent =真正的>< / ImageView的>< / RelativeLayout的>

I just need to know how to play this below link in android...i tried it in emulator its working but not on device why.....Help is appreciated......

   http://stream.radiosai.net:8002/

解决方案

Already i have implemented play streaming audio in my app.Directly i paste this code here .Remove unnecessary data and use it.i have tested your link in it ,is working for me.

import java.io.IOException;

import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.drawable.AnimationDrawable;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnBufferingUpdateListener;
import android.media.MediaPlayer.OnErrorListener;
import android.media.MediaPlayer.OnInfoListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.ToggleButton;

public class StreamAudio extends Activity implements OnPreparedListener,
         OnErrorListener {

    MediaPlayer mp;
    private ToggleButton btn;
    private ImageView img;
    private boolean flag = false;
    AnimationDrawable frameAnimation;
    ProgressDialog progress;


     String url="http://stream.radiosai.net:8002/";

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);

        btn = (ToggleButton) findViewById(R.id.play);
        img = (ImageView) findViewById(R.id.radio_image);

        img.setBackgroundResource(R.drawable.frames);
        frameAnimation = (AnimationDrawable) img.getBackground();

        mp = new MediaPlayer();

        progress=ProgressDialog.show(this, null ,"Loading...",false,true);

        Runnable r=new Runnable() {

            @Override
            public void run() {
                setPlayBack();
            }
        };
        Thread th=new Thread(r);
        th.start();
            mp.setOnPreparedListener(this);
            //mp.setOnBufferingUpdateListener(this);
            mp.setOnErrorListener(this);
        //  mp.setOnInfoListener(this);
            btn.setOnCheckedChangeListener(new OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                    if(flag)
                    {

                        if(!isChecked)
                        {
                                btn.setBackgroundResource(R.drawable.btn_stop);
                                mp.start();
                                frameAnimation.start();
                        }

                        else
                        {
                            btn.setBackgroundResource(R.drawable.btn_play);
                            frameAnimation.stop();
                            mp.stop();
                            mp.reset();
                            flag=false;
                        }
                    }
                    else
                    {
                        btn.setChecked(false);

                        progress=ProgressDialog.show(StreamAudio.this, null ,"Loading...",false,false);
                        Runnable r=new Runnable() {

                            @Override
                            public void run() {
                                // TODO Auto-generated method stub
                                setPlayBack();
                            }
                        };
                        Thread th=new Thread(r);
                        th.start();
                    }

                }
            });
    }

    @Override
    protected void onDestroy() {

        super.onDestroy();
        mp.release();

    }

    @Override
    public void onPrepared(MediaPlayer mp) {

        flag = true;
        handler.sendEmptyMessage(0);
    }


    @Override
    public boolean onError(MediaPlayer mp, int what, int extra) {

        mp.release();
        return false;
    }
        private void setPlayBack()
        {
            mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
                try {
                    mp.setDataSource(url);
                } catch (IllegalArgumentException e1) {
                    e1.printStackTrace();
                } catch (IllegalStateException e1) {
                    e1.printStackTrace();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
                mp.prepareAsync();
        }
        private Handler handler=new Handler(){
            @Override
            public void handleMessage(Message msg) {
                progress.dismiss();
                btn.setBackgroundResource(R.drawable.btn_stop);
                frameAnimation.start();
                mp.start();
            }
        };
}

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">


    <LinearLayout android:layout_alignParentBottom="true"
        android:gravity="center" android:layout_width="fill_parent"
        android:background="@drawable/bottom_bar" android:layout_height="wrap_content">

        <ToggleButton android:background="@drawable/btn_stop" android:checked="false" android:id="@+id/play" android:textOff="" android:textOn=""
            android:layout_width="wrap_content" android:layout_height="wrap_content"></ToggleButton>
    </LinearLayout>
    <ImageView android:id="@+id/radio_image"
        android:layout_height="wrap_content" android:layout_width="wrap_content"
        android:layout_centerInParent="true"></ImageView>

</RelativeLayout>

这篇关于在播放使用的Andr​​oid的WebView一个网址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆