gpt4 book ai didi

android - 如何通过在Android中滑动图像来播放和更改音频

转载 作者:行者123 更新时间:2023-12-02 23:53:44 25 4
gpt4 key购买 nike

我创建了一个简单的android项目,该项目将显示存储在数组中的各种图像,并通过滑动图像来更改音频。
这是我的代码

package com.example.arab;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;

import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager viewPager = (ViewPager)findViewById(R.id.view_pager);
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setAdapter(adapter);
}

private class ImagePagerAdapter extends PagerAdapter {

private int[] mImages = new int[] {R.drawable.alif,R.drawable.baa,R.drawable.taa,R.drawable.saa,R.drawable.gim,R.drawable.haa,
R.drawable.kha,R.drawable.dal,R.drawable.zal,R.drawable.raa,R.drawable.jaa,R.drawable.seen,
R.drawable.shin,R.drawable.soad,R.drawable.duad,R.drawable.tua,R.drawable.jua,R.drawable.aiin,
R.drawable.guain,R.drawable.faa,R.drawable.kaff,R.drawable.kuff,R.drawable.lum,R.drawable.mim,
R.drawable.nun,R.drawable.wow,R.drawable.haasmall,R.drawable.hamza,R.drawable.eaa};


private int[] mAudio= new int[]{R.raw.alif,R.raw.baa,R.raw.taa,R.raw.saa,R.raw.gim,R.raw.haa,R.raw.kha,R.raw.dal,R.raw.zal,
R.raw.raa,R.raw.jaa,R.raw.seen,R.raw.shin,R.raw.soad,R.raw.duad,R.raw.tua,R.raw.jua,R.raw.aiin,
R.raw.guain,R.raw.faa,R.raw.kaff,R.raw.kuff,R.raw.lum,R.raw.mim,R.raw.nun,R.raw.wow,R.raw.haa_small,
R.raw.hamza,R.raw.eaa};
@Override
public int getCount() {
return mImages.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Context context = MainActivity.this;
ImageView imageView = new ImageView(context);
int padding =context.getResources().
getDimensionPixelSize(R.dimen.activity_vertical_margin);
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.CENTER);
imageView.setImageResource(mImages[position]);
((ViewPager) container).addView(imageView, 0);


//for Sound
if (mp != null) {
mp.reset();
mp.release();

}

//the audio files are running here but not in sync with image
mp = MediaPlayer.create(MainActivity.this,mAudio[position]);
mp.start();




return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
}
}

这里的int [] mAudio是我保存所有音频文件的数组。现在,我想根据int [] mImages数组中的图像播放声音并更改音频。

最佳答案

编辑

完成后调用图片更改功能

mp.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.release(); //here you should call your picture changed function or event what ever you have for pictures}

使用循环u可以根据图像更改音频。
例如,如果您的图像发生了明显变化,则您的索引也会发生变化,音频也将使用相同的索引
像这样
for (int i=0;i<mImages .length;i++)
mImages [i];
mp = MediaPlayer.create(FallAnimationActivity.this,
mAudio [i]);
mp.start();

关于android - 如何通过在Android中滑动图像来播放和更改音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20209305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com