當前位置:首頁 » 安卓系統 » android音量條

android音量條

發布時間: 2022-05-24 18:15:21

㈠ Android開發中怎麼隱藏音量控制條

//恢復音量到默認的30
AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
mAudioManager.setStreamVolume(AudioManager.STREAM_SYSTEM, 30, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);

應該是最後一個參數,就是比如如果傳進去的是AudioManager.FLAG_SHOW_UI就是會顯示音量條的,FLAG_REMOVE_SOUND_AND_VIBRATE就是不顯示的,這個是我在電視上做的把系統聲音設置成30的,不知道你的平台一樣不一樣,試試吧

㈡ android setstreamvolume為什麼出現音量調節條

用setStreamVolumeIndex來調節音量,其實,最終是通過AudioPolicyService的對應函數... Eclipse導入android項目後有嘆號

㈢ android 按音量鍵系統音量條彈不出來

看看最近下載了那些軟體先御載看看或者恢復出廠如果還是不行建議找人去修

㈣ Android系統手機如何調整媒體音量

請在播放媒體時按下電話側面的音量調整按鈕以調整音量。從主畫面按下菜單
>
設定
>
聲音與顯示
>
媒體音量,然後滑動到所要的音量范圍,再點擊確定。

㈤ android系統音量為什麼要+5/10

調整音量方法有兩種,一種是漸進式,即像手動按音量鍵一樣,一步一步增加或減少,另一種是直接設置音量值.

1、漸進式

public void adjustStreamVolume (int streamType, int direction, int flags)

am.adjustStreamVolume (AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
解釋一下三個參數

第一個streamType是需要調整音量的類型,這里設的是媒體音量,可以是:
STREAM_ALARM 警報
STREAM_MUSIC 音樂回放即媒體音量
STREAM_NOTIFICATION 窗口頂部狀態欄Notification,
STREAM_RING 鈴聲
STREAM_SYSTEM 系統
STREAM_VOICE_CALL 通話
STREAM_DTMF 雙音多頻,不是很明白什麼東西

第二個direction,是調整的方向,增加或減少,可以是:
ADJUST_LOWER 降低音量
ADJUST_RAISE 升高音量
ADJUST_SAME 保持不變,這個主要用於向用戶展示當前的音量

第三個flags是一些附加參數,只介紹兩個常用的
FLAG_PLAY_SOUND 調整音量時播放聲音
FLAG_SHOW_UI 調整時顯示音量條,就是按音量鍵出現的那個
2、直接設置音量值的方法:

public void setStreamVolume (int streamType, int index, int flags)

am.setStreamVolume(AudioManager.STREAM_MUSIC, am.getStreamMaxVolume(AudioManager.STREAM_MUSIC), AudioManager.FLAG_PLAY_SOUND);
am.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);//得到聽筒模式的最大值
am.getStreamVolume(AudioManager.STREAM_VOICE_CALL);//得到聽筒模式的當前值
第一個和第三個參數與上面的相同

第二個參數是一個音量的int值,getStreamMaxVolume(int streamType)得到的是該類型音量的最大值,可以根據這個值計算你需要的音量,我這里直接調到最大.

最後我的代碼:

package com.lp;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

import Android.app.Activity;
import Android.content.Context;
import Android.media.AudioFormat;
import Android.media.AudioManager;
import Android.media.AudioTrack;
import Android.os.Bundle;
import Android.view.View;
import Android.view.View.OnClickListener;
import Android.widget.Button;
import Android.widget.SeekBar;
/**
* AudioTrack 播放音頻 如wav格式
* 並允許調節音量
* @author Administrator
*
*/
public class MainActivity5 extends Activity {
private Button play;
private Button stop;
private SeekBar soundValue;

private AudioTrack at;
private AudioManager am;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_sk);
am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
play = (Button)findViewById(R.id.main_sk_play);
stop = (Button)findViewById(R.id.main_sk_stop);
soundValue = (SeekBar)findViewById(R.id.skbVolume);
setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
play.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

if(am.isSpeakerphoneOn()){
am.setSpeakerphoneOn(false);
}
//setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
am.setMode(AudioManager.MODE_IN_CALL);
System.out.println(am.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL));
System.out.println("&&&&&&&&&&&&&");
System.out.println(am.getStreamVolume(AudioManager.STREAM_VOICE_CALL));
//am.setStreamVolume(streamType, index, flags)

int bufferSizeInBytes = AudioTrack.getMinBufferSize(44100, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT);

if(at==null){
at = new AudioTrack(AudioManager.STREAM_VOICE_CALL, 44100, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, bufferSizeInBytes, AudioTrack.MODE_STREAM);
System.out.println("22222");
//at.setStereoVolume(100f, 100f);
at.setStereoVolume(0.7f, 0.7f);//設置當前音量大小
new AudioTrackThread().start();
}else{
if(at.getPlayState()==AudioTrack.PLAYSTATE_PLAYING){
System.out.println("111111111");
}else{
System.out.println("33333");
at = new AudioTrack(AudioManager.STREAM_VOICE_CALL, 44100, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, bufferSizeInBytes, AudioTrack.MODE_STREAM);
new AudioTrackThread().start();
}
}

}
});

stop.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
if(at.getPlayState()==AudioTrack.PLAYSTATE_PLAYING){
try{
at.stop();
}catch (IllegalStateException e)
{
e.printStackTrace();
}
at.release();
am.setMode(AudioManager.MODE_NORMAL);
}
}
});

// soundValue.setMax(100);//音量調節的極限
// soundValue.setProgress(70);//設置seekbar的位置值
soundValue.setMax(am.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL));
soundValue.setProgress(am.getStreamVolume(AudioManager.STREAM_VOICE_CALL));

soundValue.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// float vol=(float)(seekBar.getProgress())/(float)(seekBar.getMax());
// System.out.println(vol);
// at.setStereoVolume(vol, vol);//設置音量
am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, seekBar.getProgress(), AudioManager.FLAG_PLAY_SOUND);
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
}
});
}

class AudioTrackThread extends Thread{

@Override
public void run() {
byte[] out_bytes = new byte[44100];

InputStream is = getResources().openRawResource(R.raw.start);
int length ;
try{
at.play();
}catch (IllegalStateException e)
{
e.printStackTrace();
}
try {
while((length = is.read(out_bytes))!=-1){
//System.out.println(length);
at.write(out_bytes, 0, length);
}
} catch (IOException e) {
e.printStackTrace();
}
if(at.getPlayState()==AudioTrack.PLAYSTATE_PLAYING){
try{
at.stop();
}catch (IllegalStateException e)
{
e.printStackTrace();
}
at.release();
am.setMode(AudioManager.MODE_NORMAL);
}
}

}

}
當然 許可權

<uses-permission Android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission Android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission Android:name="android.permission.RECORD_AUDIO" />

㈥ android 4.0.3聲音調節大小的欄怎麼調出來,我是平板電腦的

android系統有一個 "設置" 應用, 可以從應用菜單內找到,也可以直接從下拉通知欄日期後面的那個按鈕點擊進入.
進入設置後按如下順序選擇:

設置 -> 情景模式 -> 標准 -> 鈴音音量

即可設置各種音量.
注意各個廠商都有可能對原生的android系統進行修改的,不同的產品在系統上會略有不同.

㈦ android 怎麼自定義音量條

public class SoundSeekBar extends View{
/**
* 當前值
*/
private int percentage=0;
/**
* 左右間距
*/
private int padding=10;

/**
* 畫筆
*/
Paint myPaint=new Paint();

/**
* 當前值監聽介面
*/
private OnPercentageChangeListener myOnPercentageChangeListener;

public int getPercentage() {
return percentage;
}

public void setPercentage(int percentage) {
this.percentage = percentage;
}

public int getPadding() {
return padding;
}

public void setPadding(int padding) {
this.padding = padding;
}

public SoundSeekBar(Context context) {
super(context);
}

public SoundSeekBar(Context context, AttributeSet attrs) {
super(context, attrs);
}

public SoundSeekBar(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}

public void setOnPercentageChangeListener(OnPercentageChangeListener onPercentageChangeListener)
{
this.myOnPercentageChangeListener=onPercentageChangeListener;
};

@Override
protected void onDraw(Canvas canvas) {
myPaint.setColor(0xffdcdcdc);
myPaint.setStyle(Paint.Style.FILL);
Path backPath=new Path();
// 去鋸齒
myPaint.setAntiAlias(true);
backPath.moveTo(padding, getHeight());
backPath.lineTo(getWidth()-padding, 0);
backPath.lineTo(getWidth()-padding, getHeight());
backPath.close();
canvas.drawPath(backPath, myPaint);
Path percentagePath = new Path();
percentagePath.moveTo(0, getHeight());
percentagePath.lineTo(padding+(getWidth()-2*padding) * percentage / 100, getHeight());
percentagePath.lineTo(padding+(getWidth()-2*padding) * percentage / 100, getHeight()*(float)(1-(percentage/100.0)));
percentagePath.close();
myPaint.setColor(0xffff0000);
canvas.drawPath(percentagePath,myPaint);
super.onDraw(canvas);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN ||event.getAction()==MotionEvent.ACTION_MOVE)
{
int per=(int)(((event.getX()-padding-getX())/(float)(getWidth()-2*padding))*100);
if (percentage != per && per >= 0 && per <= 100) {

percentage = per;
postInvalidate();

} else if(percentage>100)
{
percentage = 100;
postInvalidate();
}else if(percentage<0)
{
percentage=0;
postInvalidate();
}
if(myOnPercentageChangeListener!=null)
{
myOnPercentageChangeListener.onPercentagerChange(percentage);
}
}
return true;
}

public interface OnPercentageChangeListener
{
public void onPercentagerChange(int percentage) ;
}
}

安卓手機聲音太小怎麼調大

如果您使用的是華為手機,可以按照以下方法操作:
進入設置 > 聲音和振動,拖動音量條,即可分別調整媒體、鈴聲、鬧鍾、通話和智慧語音的音量大小。

㈨ android開發中如何實現播放聲音時根據聲音大小做一個動態能量條

音量變化是比較頻繁的,通常是低於50毫秒。

所以你取得的音量大小是一條密集的點組成的曲線,要動態的展示這些密集的點,有兩種不同的實現方式,效果也不一致。

  1. 把這些點分成不同的區間。比如5個區間,每個區間對應一張圖片(也可以是動態的圖片AnimationDrawable),取得音量後判斷是哪個區間,設置對應的圖片。打個比方,如果是用格數來表示,就有五張圖片表示1-5格,音量最大值可以通過mediaRecorder.getMaxAmplitude()獲得。分成五個區間,每個區間顯示對應格數的圖片。當然,這個圖片也可以是類似水波在盪漾的動態圖片,用AnimationDrawable來播放。

  2. 平滑的處理這些點。把上一次的位置與這一次的位置做一個動畫,如果採集頻率為50毫秒,動畫的ration就是50ms。比如是做一個圓圈,隨著音量大小變化,那麼可以參照如下的屬性動畫:

    PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("scaleX", lastScale, scale);

    PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("scaleY", lastScale, scale);

    valumeAnimator = ObjectAnimator.ofPropertyValuesHolder(speakVolumeImageV, pvhX, pvhY);

    valumeAnimator.setDuration(MIN_TIME).start();


    通過放大和縮小speakVolumeImageV來展示當前音量。其中scale是此次的縮放比,lastScale是上次的縮放比。縮放比初始為1.0f,如果最大隻能放大到speakVolumeImageV的兩倍大,那麼可以這樣計算


    Float scale = 1.0f;

    if (volume == 0) {

    scale = 1.0f;

    } else {

    scale = 1.0f + (volume / MAX_VOLUME * 1.0f);

    }

㈩ 安卓手機音量調節怎麼設置

  1. 在手機主頁中找到「設置」選項;

  2. 在「設置」中找到「音量調節」選項;

  3. 進入選項後即可調整音量。

熱點內容
名詞解釋預演算法 發布:2025-07-01 14:34:36 瀏覽:915
iis文件拒絕訪問 發布:2025-07-01 14:34:20 瀏覽:567
蘋果和安卓相比哪個游戲多 發布:2025-07-01 14:24:16 瀏覽:759
銳界七座買哪個配置好 發布:2025-07-01 14:14:59 瀏覽:980
svn下載linux 發布:2025-07-01 14:10:38 瀏覽:732
蘋果手機打游戲和安卓哪個流暢 發布:2025-07-01 13:58:41 瀏覽:840
中原證券伺服器怎麼樣 發布:2025-07-01 13:57:23 瀏覽:998
在簡便演算法 發布:2025-07-01 13:32:06 瀏覽:766
c語言表達式絕對值 發布:2025-07-01 13:25:45 瀏覽:491
獲取網站訪問量 發布:2025-07-01 13:20:28 瀏覽:296