1. 程式人生 > >android-----音樂播放器的音量控制功能(開發)

android-----音樂播放器的音量控制功能(開發)

一、佈局檔案

在RelativeLayout佈局裡設定一個ImageButton,點選其彈出一個SeekBar(用於音量調節),

再在其下面巢狀一個RelativeLayout,裡面包含兩個ImageView元件、一個SeekBar元件。

此外, anim---push_up_in.xml 是一個動畫集合,包括interpolator負責控制動畫的變化速度;translate即平移動畫以及一個alpha即透明度漸變的動畫。

使用動畫,會讓你在調節音量時按下滑塊與鬆開滑塊有不一樣的效果。

二、程式碼實現

關鍵程式碼

//音訊面板的顯示和隱藏
    private void voicePanelAnimation() {
        if (llPlayerVoice.getVisibility() == View.GONE)
        {
            llPlayerVoice.startAnimation(showVoicePanelAnimation);
            llPlayerVoice.setVisibility(View.VISIBLE);
        }
        else {
            llPlayerVoice.startAnimation(hiddenVoicePanelAnimation);
            llPlayerVoice.setVisibility(View.GONE);
        }
    }
    
private OnClickListener listener = new OnClickListener() {
        
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            switch (v.getId()) {
            case R.id.btnPlayerVoice:
                voicePanelAnimation();
                break;
            default:
                break;
            }
        }
    };
    
    private OnSeekBarChangeListener seekBarChangeListener = new OnSeekBarChangeListener() {
        
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub    
        }
        
        @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
            
            if (seekBar.getId() == R.id.sbPlayerVoice)
            {
                currentVolume = progress;
                audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
            }
        }
    };

    //隱藏系統音量條
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        switch (keyCode)
        {
        case KeyEvent.KEYCODE_VOLUME_UP:
            currentVolume += 2;
            if(currentVolume >= audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)){
                currentVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
            }
            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume, 0);
            sbPlayerVoice.setProgress(currentVolume);
        case KeyEvent.KEYCODE_VOLUME_DOWN:
            currentVolume -= 2;
            if(currentVolume < 0) {
                currentVolume = 0;
            }
            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume, 0);
            sbPlayerVoice.setProgress(currentVolume);
            return true;
        default:
            break;
    }

相關推薦

android-----音樂播放音量控制功能開發

一、佈局檔案 在RelativeLayout佈局裡設定一個ImageButton,點選其彈出一個SeekBar(用於音量調節), 再在其下面巢狀一個RelativeLayout,裡面包含兩個ImageView元件、一個SeekBar元件。 此外, anim---push_u

Android系統播放MediaPlayer原始碼分析

前言 對於MediaPlayer播放器的原始碼分析內容相對來說比較多,會從Java->JNI->C/C++慢慢分析,後面會慢慢更新。另外,部落格只作為自己學習記錄的一種方式,對於其他的不過多的評論。 MediaPlayerDemo public class MainA

基於android的網路音樂播放-通知欄控制RemoteViews

到這裡音樂播放器該有的功能基本都有了,最後再新增一個通知欄控制功能——當我們後臺執行的時候可以在通知欄看到我們的音樂播放狀態並且可以控制音樂的暫停/播放/上一首/下一首;點選通知圖示即可返回音樂播放器。 要實現通知欄的顯示功能需要用到Notification,他

Android應用--簡 美音樂播放獲取專輯圖片自定義列表介面卡

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

android-音樂播放實現及原始碼下載

從本文開始,詳細講述一個音樂播放器的實現,以及從網路解析資料獲取最新推薦歌曲以及歌曲下載的功能。 功能介紹如下: 1、獲取本地歌曲列表,實現歌曲播放功能。 2、利用硬體加速感應器,搖動手機實現切換歌曲的功能 3、利用jsoup解析網頁資料,從網路獲取歌曲

android-音樂播放實現及原始碼下載

本系列博文,詳細講述一個音樂播放器的實現,以及從網路解析資料獲取最新推薦歌曲以及歌曲下載的功能。 功能介紹如下: 1、獲取本地歌曲列表,實現歌曲播放功能。 2、利用硬體加速感應器,搖動手機實現切換歌曲的功能 3、利用jsoup解析網頁資料,從網路

Android系列之音樂播放的實現一播放手機記憶體音訊檔案

現在給大家實現的是利用手機記憶體卡里的音訊檔案去播放的,至於xml佈局檔案大家可以去看我上一篇部落格的,因為這兩篇部落格是相關聯的。現在就開始吧!xml配置檔案許可權:(一定要加上) <uses-permission android:name="android.per

Android 音樂播放的實現自定義按鈕的實現

Android 系統提供了MediaPlayer控制元件,讓我們能夠利用它實現音訊的播放。 而從學Android開始,在看教程的時候,我就想,我要自己做一個音樂播放器,因為一個完整的音樂播放器是有很多功能的,它涉及到很多方面的知識,可以幫助我們更好地學習和掌握關於Andro

android音樂播放開發 SweetMusicPlayer 載入歌曲列表

路徑 本地 exc tao near import 設置 優先 特殊 上一篇寫了播放器的總體實現思路,http://blog.csdn.net/huweigoodboy/article/details/39855653,如今來總結下載入歌曲列表。 代碼地址

基於Vue2.0的音樂播放——歌手模塊拿不到數據

分享圖片 header sig highlight func conf java tdi pro 來這裏的都可能在看,慕課網vue2.0 的音樂播放器的相關頁面,如果使用視頻介紹的方法,相當於現在來說是獲取數據回報如下的錯誤: {code: -500001, ts: 15

android 音樂播放介面

一、團隊成員 姓名 學號 部落格地址 成凱 1600802002 http://www.cnblogs.com/ck03/ 黨康 1600802004 http://www.cnblogs.com/lxxxy/ 趙樂 1600802034 http://www.cnblogs.com/Z-y-H/ 二、

Android音樂播放

主要功能介紹         實現音樂暫停,播放,下一首,上一首; 程式執行截圖 核心程式碼解析     功能鍵的實現 public void onClick(View v) { switch(v.getId()){

Android實現二維碼掃描功能-閃光燈控制

簡介 本篇我們對光線暗淡情況下閃光燈的使用做出介紹。 效果 晚上測試時: 開燈後: 未開燈: 實現步驟 1、在activity_scanner.xml介面上加上閃光燈開關按鈕。可以是Button、Checkbox等控制元件。

Android音樂播放的簡單實現

1、MusicService 音樂播放器的Service,裡面獲取音樂檔案,封裝了MediaPlayer,實現播放上一首和下一首,播放,停止,封裝成方法供Activity呼叫,獲取音樂的當前進度,總長度、名字,通過傳送廣播的方式發給Activity pa

android 音樂播放小案例

案例主目的是為了複習一下Service服務 Handler訊息機制 學習一下mediaplayer類 和了解自定義控制元件 MainAcitivity.java package com.alleged.musicPlay; import android

android音樂播放播放音樂

自己在練習時寫了一個音樂播放器,但是放音樂的時候會卡 經過調查,才知道是在設定seekbar監聽的onProgressChanged這個方法中設定了player.seekTo(seekBar.getProgress());這樣就造成了音樂播放進度條改變,然後進度條的改變又會

android 音樂播放最簡單的實現

package com.example.mouse.laymen; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import androi

Android音樂播放中的歌詞同步學習分析

在網上查了一下資料,感謝 http://www.cr173.com/html/20184_1.html 給了我思路,可以說他提供了最基本的歌詞同步的功能,我在其上面添加了自己的修改的程式碼。 主要是自己為了實現歌詞同步,並且通過移動seekbar,改變歌曲的歌詞位置。當然還

android 音樂播放關於歌詞的處理

         當我們製作音樂播放器中我覺得歌詞的處理是比較難的一塊, 對於音樂播放和媒體控制我們可以使用MediaPlayer來搞定,它提供了媒體控制的介面,使得我們對於媒體控制來說變得比較簡單。但對於顯示歌詞來說就比較複雜了一點,例如讓歌詞一個字一個字高亮、快進時控制

如何寫一個正經的Android音樂播放

關於音樂列表的讀取,不同的音樂播放器都會有不同的方案,有的是有多重方案並用。例如說,全盤掃描音樂格式檔案等,但是Android本身有媒體庫,可以讀取本地媒體庫的資料,來快速獲知裝置上的音樂。 首先我封裝了一個Audio類來儲存讀取的音訊資訊。 public class Audio { privat