2 lantianyiming lantianyiming 于 2013.08.09 17:11 提问

在activity开始时播放声音
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View view = findViewById(R.id.textView1);
view.setOnTouchListener(this);

this.setVolumeControlStream(AudioManager.STREAM_MUSIC);

soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
    @Override
    public void onLoadComplete(SoundPool soundPool, int sampleId,
            int status) {
        loaded = true;
    }
});
soundID = soundPool.load(this, R.raw.dog_bark, 1);

 }
;
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {

    AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
    float actualVolume = (float) audioManager
            .getStreamVolume(AudioManager.STREAM_MUSIC);
    float maxVolume = (float) audioManager
            .getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    float volume = actualVolume / maxVolume;

    if (loaded) {
        soundPool.play(soundID, volume, volume, 1, 0, 1f);
    }
}
return false;

}
}

代码实现的是在点击事件后声音才会播放。我想要在activity开始后自动播放。然后在播放一遍后,再次点击事件时再播放,谢谢

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android Activity初次的启动的时候播放声音
代码如下: private MediaPlayer mMediaPlayer; mMediaPlayer = new MediaPlayer(); mMediaPlayer = MediaPlayer.create(this, R.raw.happy); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mMedi
android 继承view类刷新页面【安卓进化十一】
最近做项目中发现,继承了view类的子类,可以用invalidate方法刷新,或者用hanlder消息机制和线程来处理,或者直接在线程中用postInvalidate来处理,但是继承了surface的子类,就不可以用invalidate方法来刷新界面。我写了个简单刷新界面加载图片
实现Android播放声音资源的一个简单的工具类
为了调用方便,自己写了一个简单的Android播放声音的工具类,供大家参考。
c# 线程播放声音
c# 线程播放声音 c# 线程播放声音 c# 线程播放声音 c# 线程播放声音 c# 线程播放声音
iPhone播放声音例子
iPhone播放声音的例子iPhone播放声音的例子iPhone播放声音的例子iPhone播放声音的例子
计算机网络 曼彻斯特编码 差分曼彻斯特编码
差分曼彻斯特编码: 在信号位开始时不改变信号极性,表示辑"1"  在信号位开始时改变信号极性,表示逻辑"0" ; 【注意】:如果在最初信号的时候,即第一个信号时: 如果中间位电平从低到高,则表示0; 如果中间位电平从高到低,则表示1; 后面的(从第二个开始)就看每个信号位开始时有没有跳变来决定: 下面我们来举个例子,来比较标准曼彻斯特编码、曼彻斯特编码、差分曼彻斯特编码:
使用MFC播放声音
使用MFC播放声音 使用MFC播放声音 使用MFC播放声音
用javascript进行声音播放控制
用javascript进行声音播放控制function MM_controlSound(sndAction,sndObj){    if(eval(sndObj) != null)  {       if(navigator.appName==Netscape)    {     eval( sndObj+ ( (sndAction==stop) ? .stop() : .play(
HDU2040有一楼梯共M级,刚开始时你在第一级
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? 此道题使用类似斐波那契数列方法运用迭代进行操作如果递归会超时 #include int main() { int N=0,M=0,i=0,sum=0,a[41]={0}; scanf("%d",&N); a[1]=1; a[2]=1; for(i=3;i<=40;i++) //将前
有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 注:规定从一级到一级有0种走法。
解:这道题我的初始思路走法必定有111...,还有一种就是里面还有二的序列,这是一个排列组合问题。可是太暴力了,时间复杂度是指数倍。 看了一下题解就是要用动态规划来求解。 进阶1:       我们走的最后一步,有几种可能。就是两种,一种是走一步,一种是走两步。拿我们走到十台阶的可能数就可以分为两类F(8)和F(9)。那么我们F(10)=F(9)+F(8), 边界时F(1)=0,F(2)=