انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اجرای چندین صوت در یک لیست ویو (در برنامه نویسی اندروید)

اجرای چندین صوت در یک لیست ویو (در برنامه نویسی اندروید)

#1
با سلام. یک لیست ویو سفارشی شده درست کردم،میخواهم در آن صوت های متفاوتی را به کار ببرم.با استفاده از چه کدی صوت های متفاوتی را به لیست ویو مقدار دهی کنیم؟

کلاس لیست ویو:

کد پی‌اچ‌پی:
public class MainActivity  extends ListActivity {
    
    public ListView lv
;
    public String number_of_keys;
    public String my_items = {"key_1",
                                  "key_2",
                                  "key_3",
                                  "key_4",
                                  "key_5",
                                  "key_6",
                                  "key_7",
                                  "key_8",
                                  "key_9",
                                  "key_10",
                                  "key_11",
                                  "key_12",
                                  "key_13",
                                  "key_14",
                                  "key_15",
                                  "key_16",
                                  "key_17",
                                  "key_18",
                                  "key_19",
                                  "key_20"
                                 };

    @Override
    protected void onCreate
(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        setListAdapter
(new MyAdapter(this, 
                       android
.R.layout.simple_list_item_1, 
                       R
.id.textView1,
                       my_items));    
        
        lv 
getListView();
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            
public void onItemClick(AdapterView<?> parent, final View view,
                int position, long id) {                        
                Intent i = new Intent(getApplicationContext(), Sotactivity.class);
                number_of_keys = String.valueOf(position+1); 
                i.putExtra("key_number", number_of_keys);
                startActivity(i);    
            }

        });
    }

    
    private class MyAdapter extends ArrayAdapter<String>{

        public MyAdapter(Context context, int resource, int textViewResourceId,
                String strings) {
            super(context, resource, textViewResourceId, strings);
            // TODO Auto-generated constructor stub
        }
        
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View row = inflater.inflate(R.layout.list_item, parent, false);
            
            String stringName = "string_key_" + String.valueOf(position+1); 
            int string_res_ID = getResources().getIdentifier(stringName,"string",getPackageName());
            String my_string = getResources().getString(string_res_ID);
            TextView tv = (TextView) row.findViewById(R.id.textView1);
            tv.setText(my_string);
            
            String imageName = "key_" + String.valueOf(position+1); 
            int image_res_ID = getResources().getIdentifier(imageName,"drawable",getPackageName());
            ImageView iv = (ImageView) row.findViewById(R.id.imageView1);
            iv.setImageResource(image_res_ID);
    
            return row;
        }
        
        
    }
    



کلاس صوت:

کد پی‌اچ‌پی:
public class Sotactivity extends Activity implements OnClickListener {
    
    SeekBar seek_bar
;
    Button play_buttonpause_button;
    MediaPlayer mediaPlayer;
    TextView text_shown;
    Handler seekHandler = new Handler();

    @Override
    protected void onCreate
(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sot);
        
        Bundle extras 
getIntent().getExtras();
        if (extras != null) {
             String my_key_number extras.getString("key_number");
             String my_message "you pressed the item number " my_key_number " in ListView";
             TextView tv = (TextViewfindViewById(R.id.textView1);
             tv.setText(my_message);
    }
            
        getInit
();
        seekUpdation();
    }


    public void getInit() {  
        seek_bar 
= (SeekBarfindViewById(R.id.seek_bar);
        play_button = (ButtonfindViewById(R.id.play_button);
        pause_button = (ButtonfindViewById(R.id.pause_button);
        text_shown = (TextViewfindViewById(R.id.text_shown);
        play_button.setOnClickListener(this);
        pause_button.setOnClickListener(this);
        mediaPlayer MediaPlayer.create(thisR.raw.asd);
        mediaPlayer MediaPlayer.create(thisR.raw.my_file);
        
        seek_bar
.setMax(mediaPlayer.getDuration());
    }

    Runnable run = new Runnable() {

        @Override
        
public void run() {
            seekUpdation();
        }
    };

    public void seekUpdation() {

        seek_bar.setProgress(mediaPlayer.getCurrentPosition());
        seekHandler.postDelayed(run1000);
        seek_bar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            
            
@Override
            public void onStopTrackingTouch
(SeekBar seek_bar) {
                // TODO Auto-generated method stub
                
            
}
            
            
@Override
            public void onStartTrackingTouch
(SeekBar seek_bar) {
                // TODO Auto-generated method stub
                
            
}
            
            
@Override
            public void onProgressChanged
(SeekBar seek_barint progressboolean fromUser) {
                if(fromUser){ 
                    mediaPlayer
.seekTo(progress); 
                    seek_bar
.setProgress(progress);
                }
                
            
}
        });
    }

    @Override
    
public void onClick(View view) {
        switch (view.getId()) {
        case R.id.play_button:
            text_shown.setText("Playing...");
            mediaPlayer.start();
            break;
        case R.id.pause_button:
            mediaPlayer.pause();
            text_shown.setText("Paused...");
        }
    }
    
    
public void onProgressChanged(SeekBar seekBarint progressboolean fromUser) { 
        if
(fromUser){ 
            mediaPlayer
.seekTo(progress); 
            seekBar
.setProgress(progress);
        }
    }
    
    
    
@Override
    
public void onBackPressed() {
        mediaPlayer.stop();
        finish();
    

وقتی کلاس صوت را در کلاس لیست ویو نوشتم برنامه has stopped داد.
پاسخ


پیام‌های این موضوع
اجرای چندین صوت در یک لیست ویو (در برنامه نویسی اندروید) - توسط kama90 - ۱۳۹۴/۰۸/۱۶, ۰۲:۰۶ ق.ظ
RE: اجرای چندین صوت در یک لیست ویو - توسط داش بهروز - ۱۳۹۴/۰۸/۱۶, ۰۲:۳۶ ق.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان