再次检查时,切换按钮不起作用

时间:2017-10-24 09:55:23

标签: android togglebutton

此代码一次后无效。单击它后,它会停止播放音乐,但再次单击它后,它不会再次启动音乐。

 <activity android:banner="@drawable/tv_banner" android:label="@string/app_name" android:name="example.iptv.ChannelsActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:scheme="file"/>
                <data android:scheme="http"/>
                <data android:scheme="https"/>
                <data android:scheme="ftp"/>
                <data android:mimeType="audio/x-mpegurl"/>
                <data android:mimeType="application/xspf+xml"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:scheme="file"/>
                <data android:scheme="http"/>
                <data android:scheme="https"/>
                <data android:scheme="ftp"/>
                <data android:host="*"/>
                <data android:pathPattern=".*\\.m3u"/>                   
                <data android:pathPattern=".*\\.M3U"/>
                <data android:pathPattern=".*\\.m3u8"/>
                <data android:pathPattern=".*\\.xspf"/>

            </intent-filter>
        </activity>

3 个答案:

答案 0 :(得分:0)

尝试以下代码;

     sound.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Boolean switchState = holder.simpleSwitch.isChecked();

                if (switchState==true)
                {
                   sip.start();
                }
                else
                {
                   sip.stop();
                }
            }
        });

答案 1 :(得分:0)

需要配置MediaPlayer。试试这个:

sound.setOnClickListener(new View.OnClickListener(){
    public void onClick(View arg0) {
        if (sound.isChecked()==(true)){
            sip.setDataSource(filePath);
            sip.prepare();
            sip.start();
        }else
        {
            sip.release();
            sip = null;
        }

}});

答案 2 :(得分:0)

你可以试试这个。

sound.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() 
{
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
    {
        if(isChecked)
        {
            sip.start();
        }
        else
        {
            sip.stop();
        }
    }
});