안녕하세요. 
안드로이드를 시작한지 얼마 안된 초보자 입니다. 
부족한 부분이 많아서 샘플 코드를 수정하여 사용하다 보니, 조금만 응용을 하려고 해도 잘 되지 않네요...
너무 잘 몰라서 이 질문이 질문 꺼린지도 확신이 잘 안서네요..;;; 하지만 아시는분 계시면 답변 부탁드려요..~~

이미지 스위쳐를 이용해서 아래 그림과 유사하게 thumb을 스크롤하다가 클릭하면 하단에 큰 이미지가 나오게 구현 하였습니다. 

여기에 특정 이미지가 선택되면 특정 mp3 파일을  아래 미디어 함수를 이용하여 재생이 되게 하고 싶은데 어떻게 해야 하나요? 
아래 처럼 미디어 원본 파일 관련 배열을 만들고 관련 함수(stop, play)를 맨 아래 있는 play.java에 적절히 붙여서, 이미지 선택된 포지션을 구하는 위치에서 포지션을 이용하여 이미지와 매핑이 된 오디오 파일을 play를 하려고 하는데..타입이 안 맞아서 에러가 뜨네요..
어느 위치에 적절히 붙여 줘야 할까요? 별도의 클래스를 만들어 줘야 할까요? 
** 참고로 mp3 파일은 사용자나 다른 App에서 접근을 못하게 하려고 하고 있습니다. SD 카드가 아닌 res/raw/에 들어 있습니다. 

 //---the audio to play---
    Integer[] audioIDs = {
            R.raw.audio1,
            R.raw.audio2,
            R.raw.audio3,
            R.raw.audio4,
            R.raw.audio5
    };
~~~~~~~~~~~~~~~~~
/** Stop old song and start new one */
public static void play(Context context, int resource) { 
stop(context);
mp = MediaPlayer.create(context, resource);
mp.setLooping(true);
mp.start();
}
/** Stop the music */
public static void stop(Context context) { 
if (mp != null) {
    mp.stop();
    mp.release();
    mp = null;
}
}


jmxi.u.cs.png.jpg


play.java source file ============================================================

package com.eureka.SmilingDog;
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.Gallery.LayoutParams;
import android.widget.ViewSwitcher.ViewFactory;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.AdapterView.OnItemClickListener;

public class SmilePlay extends Activity implements ViewFactory{
//---the images to display---
    Integer[] imageIDs = {
            R.drawable.pic1,
            R.drawable.pic2,
            R.drawable.pic3,
            R.drawable.pic4,
            R.drawable.pic5,                  
    };
 
    private ImageSwitcher imageSwitcher;
 
    @Override    
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.smileplay);
 
        imageSwitcher = (ImageSwitcher) findViewById(R.id.switcher1);
        imageSwitcher.setFactory(this);
        imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,
                android.R.anim.fade_in));
        imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
                android.R.anim.fade_out));
 
        Gallery gallery = (Gallery) findViewById(R.id.gallery1);
        gallery.setAdapter(new ImageAdapter(this));
        gallery.setOnItemClickListener(new OnItemClickListener() 
        {
            public void onItemClick(AdapterView parent, 
            View v, int position, long id) 
            {                
             imageSwitcher.setImageResource(imageIDs[position]);
            }
        });  
    }
 
    public View makeView() 
    {
        ImageView imageView = new ImageView(this);
        imageView.setBackgroundColor(0xFF000000);
        imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        imageView.setLayoutParams(new 
                ImageSwitcher.LayoutParams(
                        LayoutParams.FILL_PARENT,
                        LayoutParams.FILL_PARENT));
        return imageView;
    }
 
    public class ImageAdapter extends BaseAdapter 
    {
        private Context context;
        private int itemBackground;
 
        public ImageAdapter(Context c) 
        {
            context = c;
 
            //---setting the style---                
            TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
            itemBackground = a.getResourceId(
                    R.styleable.Gallery1_android_galleryItemBackground, 0);
            a.recycle();                                                    
        }
 
        //---returns the number of images---
        public int getCount() 
        {
            return imageIDs.length;
        }
 
        //---returns the ID of an item--- 
        public Object getItem(int position) 
        {
            return position;
        }
 
        public long getItemId(int position) 
        {
            return position;
        }
 
        //---returns an ImageView view---
        public View getView(int position, View convertView, ViewGroup parent)
        {
            ImageView imageView = new ImageView(context);
            imageView.setImageResource(imageIDs[position]);
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            imageView.setLayoutParams(new Gallery.LayoutParams(150, 120));
            imageView.setBackgroundResource(itemBackground);
            return imageView;
        }
   }    
    }