基本信息
源码名称:android 转盘中奖 实例源码下载(带声音的,效果不错,亲测通过)
源码大小:1.05M
文件格式:.rar
开发语言:Java
更新时间:2014-05-23
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package com.demo.view;
import android.content.Context;
import android.media.MediaPlayer;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Handler;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.ImageView;
/**
*
* <dl>
* <dt>DynamicImage.java</dt>
* <dd>Description:实现类gif播放效果,可以伴以提示音 </dd>
* </dl>
*
* @author abner
*/
public class DynamicImage extends ImageView {
private int index = 0;
private MediaPlayer mediaPlayer = null;
//继续播放标志
private boolean continuePlay = false;
private Handler handler;
public DynamicImage(Context context) {
super(context);
}
public DynamicImage(Context context, AttributeSet attrs) {
super(context, attrs);
}
/**
* 图片切换
* @param ms
*/
public void startRoation(final int resIds[], final long ms) {
if (continuePlay) {
//如果正在播放,不做操作
return;
}
if (handler == null) {
handler = new Handler();
}
//设置继续播放标志
continuePlay = true;
Runnable runnable = new Runnable() {
@Override
public void run() {
if (continuePlay) {
if (index == resIds.length) {
index = 0;
}
DynamicImage.this.setImageResource(resIds[index]);
index ;
handler.postDelayed(this, ms);
}
}
};
handler.post(runnable);
}
/**
* 图片切换并伴以声音提示
* @param ms
*/
public void startRoationWithTone(final int resIds[], final long ms) {
//播放图片
startRoation(resIds, ms);
//播放声音提示
playTone();
}
/**
* 停止切换
*/
public void stopRotation() {
//设置图片切换停止标志
continuePlay = false;
//如果声音正在播放,停之
if (mediaPlayer != null) {
if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
}
mediaPlayer.release();
}
}
/**
* 播放声音提示
*/
private void playTone() {
try {
if (mediaPlayer == null) {
mediaPlayer = new MediaPlayer();
} else {
mediaPlayer.reset();
}
Uri tone = RingtoneManager
.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
mediaPlayer.setDataSource(getContext(), tone);
mediaPlayer.setLooping(false);
mediaPlayer.prepare();
mediaPlayer.start();
} catch (Exception e) {
Log.e("DynamicImage", "playTone error:\r\n" e.getMessage());
}
}
}