Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 108,370

HOME > Mobile > Mobile Forum > Android SeekBar ไม่เลี่อนตามเวลาของเพลง ไม่แอคทีฟเวลาเริ่มกดฟังเพลง แต่เลี่อนไปตามเวลาที่ต้องการได้ปกติค่ะ



 

Android SeekBar ไม่เลี่อนตามเวลาของเพลง ไม่แอคทีฟเวลาเริ่มกดฟังเพลง แต่เลี่อนไปตามเวลาที่ต้องการได้ปกติค่ะ

 



Topic : 112608



โพสกระทู้ ( 2 )
บทความ ( 0 )



สถานะออฟไลน์




Code
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/forest01"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".ForestActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="44dp"
        android:layout_marginTop="54dp"
        android:text="Peaceful" />

    <Button
        android:id="@+id/button2"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_alignBottom="@+id/button1"
        android:layout_toRightOf="@+id/button1"
        android:text="Geffen" />

    <Button
        android:id="@+id/button3"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_alignLeft="@+id/button1"
        android:layout_below="@+id/button1"
        android:text="Payon" />

    <Button
        android:id="@+id/button4"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_alignBottom="@+id/button3"
        android:layout_toRightOf="@+id/button3"
        android:text="Ground" />

    <Button
        android:id="@+id/button5"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_alignLeft="@+id/button3"
        android:layout_below="@+id/button3"
        android:text="Plateau" />

    <Button
        android:id="@+id/button6"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_alignBottom="@+id/button5"
        android:layout_toRightOf="@+id/button5"
        android:text="Stream" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="68dp"
        android:text="Sound Volume Control"
        android:textAppearance="?android:attr/textAppearanceMedium" />

  
    <SeekBar
        android:id="@+id/seekBar2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView1"
        android:layout_centerHorizontal="true" />
    
     <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="68dp"
        android:text="Sound Volume Control"
        android:textAppearance="?android:attr/textAppearanceMedium" />

     <Button
         android:id="@+id/button7"
         style="?android:attr/buttonStyleSmall"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_above="@+id/seekBar2"
         android:layout_alignLeft="@+id/textView1"
         android:text="Play" />

     <Button
         android:id="@+id/button8"
         style="?android:attr/buttonStyleSmall"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignBaseline="@+id/button7"
         android:layout_alignBottom="@+id/button7"
         android:layout_toRightOf="@+id/button7"
         android:text="Pause" />

     <Button
         android:id="@+id/button9"
         style="?android:attr/buttonStyleSmall"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignBaseline="@+id/button8"
         android:layout_alignBottom="@+id/button8"
         android:layout_toRightOf="@+id/button8"
         android:text="Stop" />

     <SeekBar
         android:id="@+id/seekBar1"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_above="@+id/button7"
         android:layout_alignParentLeft="true" />

</RelativeLayout>


Code
package com.example.relaxinglife;


import java.io.IOException;

import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;

public class ForestActivity extends Activity implements View.OnClickListener{
	private final Button btn[] = new Button[6];
    private MediaPlayer mPlayer; 
    private Handler handler = new Handler();
	private SeekBar seekBar1;
    TextView txt1;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		// Full Screen
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
		WindowManager.LayoutParams.FLAG_FULLSCREEN);
		
		setContentView(R.layout.activity_forest);
		
		// call method ValumnControls()
		ValumnControls();
		
		// Variable
		btn[0] = (Button) findViewById(R.id.button1);	
		btn[1] = (Button) findViewById(R.id.button2);
		btn[2] = (Button) findViewById(R.id.button3);	
		btn[3] = (Button) findViewById(R.id.button4);		
		btn[4] = (Button) findViewById(R.id.button5);	
		btn[5] = (Button) findViewById(R.id.button6);		
		
		for (int i =0; i < btn.length; i++) {
			btn[i].setOnClickListener(this);
		}   	
	               	        
		
	        final Button btn7 = (Button) findViewById(R.id.button7); // Start
	        final Button btn8 = (Button) findViewById(R.id.button8); // Pause
	        final Button btn9 = (Button) findViewById(R.id.button9); // Stop
	        
	        
	        // Start
	        btn7.setOnClickListener(new View.OnClickListener() {
	            public void onClick(View v) {
	            	mPlayer.start();
	            	btn7.setEnabled(false);
	            	btn8.setEnabled(true);
	            	btn9.setEnabled(true);
	            }
	        });
	        
	        // Pause
	        btn8.setOnClickListener(new View.OnClickListener() {
	            public void onClick(View v) {
	            	mPlayer.pause();
	            	btn7.setEnabled(true);
	            	btn8.setEnabled(false);
	            	btn9.setEnabled(false);
	            }
	        });  
	        
	        // Stop
	        btn9.setOnClickListener(new View.OnClickListener() {
	            public void onClick(View v) {
	            	mPlayer.stop();
	            	btn7.setEnabled(true);
	            	btn8.setEnabled(false);
	            	btn9.setEnabled(false);
	            	try {
						mPlayer.prepare();
						mPlayer.seekTo(0);
					} catch (IllegalStateException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
	            	
	            }
	        }); 
	     
	}
	
	
	public void onClick(View v){
		int resId = 0;
		switch (v.getId()) {
		case R.id.button1 :
			resId = R.raw.peaceful_forest;
			break;
		case R.id.button2 :
			resId = R.raw.theme_of_geffen;
			break;
		case R.id.button3 :
			resId = R.raw.theme_of_payon;
			break;
		case R.id.button4 :
			resId = R.raw.on_the_ground;
			break;
		case R.id.button5 :
			resId = R.raw.plateau;
			break;
		case R.id.button6 :
			resId = R.raw.streamside;
			break;
		}
		
		playSound(resId);
		
	}
	private void playSound(int position) {
	
		if (mPlayer != null) {
			mPlayer.stop();
			mPlayer.release();
		}
		mPlayer = MediaPlayer.create(this,position);
		mPlayer.start();
		
		  // seekBar1 Control media
        seekBar1 = (SeekBar)findViewById(R.id.seekBar1);
        seekBar1.setMax(mPlayer.getDuration());
        seekBar1.setOnTouchListener(new OnTouchListener() {
        	public boolean onTouch(View v, MotionEvent event) {
        		UpdateseekChange(v);
			return false; 
			}   
        	
		});       
		
		}
	
	private void UpdateseekChange(View v){
    	if(mPlayer.isPlaying()){
	    	SeekBar sb = (SeekBar)v;
	    	mPlayer.seekTo(sb.getProgress());
		}
    }
    
	 public void startPlayProgressUpdater() {
	    	seekBar1.setProgress(mPlayer.getCurrentPosition());

			if (mPlayer.isPlaying()) {
				Runnable notification = new Runnable() {
			        public void run() {
			        	startPlayProgressUpdater();
					}
			    };
			    handler.postDelayed(notification, 1000);
	    	}
	    } 
	 
	 @Override
	    protected void onDestroy() {
	   // TODO Auto-generated method stub
	     super.onDestroy();
	     if(mPlayer != null){
	    	 mPlayer.release();  
	     }
	    }

	
	  private void ValumnControls()
	    {
	        try
	        {
	        	SeekBar seekBar2 = (SeekBar)findViewById(R.id.seekBar2);
	        	final AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
	            seekBar2.setMax(audioManager
	                    .getStreamMaxVolume(AudioManager.STREAM_MUSIC));
	            seekBar2.setProgress(audioManager
	                    .getStreamVolume(AudioManager.STREAM_MUSIC));   


	            seekBar2.setOnSeekBarChangeListener(new OnSeekBarChangeListener() 
	            {
	                public void onStopTrackingTouch(SeekBar arg0) 
	                {
	                }

	                public void onStartTrackingTouch(SeekBar arg0) 
	                {
	                }

	                public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) 
	                {
	                    audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
	                            progress, 0);
	                }
	            });
	        }
	        catch (Exception e) 
	        {
	            e.printStackTrace();
	        }
	    }}




Tag : Java, Android, JAVA







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-11-17 10:58:10 By : mewnichapa View : 692 Reply : 2
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ลองดูบทความนี้ครับ



Android SeekBar Control MediaPlayer Progress







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-17 15:37:53 By : mr.win
 


 

No. 2



โพสกระทู้ ( 2 )
บทความ ( 0 )



สถานะออฟไลน์


จริงๆดูตัวอย่างจากลิ้งข้างบนเลยนะละจ้า แต่เอามามิกซ์กับโค้ดของตัวเอง เลยเกิดปัญหาไม่ยอมเลื่อนตามเพลง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-17 18:15:46 By : mewnichapa
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Android SeekBar ไม่เลี่อนตามเวลาของเพลง ไม่แอคทีฟเวลาเริ่มกดฟังเพลง แต่เลี่อนไปตามเวลาที่ต้องการได้ปกติค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , รับทำบัญชี , โรงงานผลิตครีม , สำนักงานบัญชี , รับจดทะเบียนบริษัท , Pangpond , รถมือสอง

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2020 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่