2015-07-27 29 views
5

Tôi đang cố gắng kiểm soát âm lượng của Exoplayer isntance đang truyền DASH trong dự án của tôi bằng thanh tìm kiếm. Vấn đề tôi sắp gặp phải là trình kết xuất đồ họa và trình phát của tôi được phân chia giữa các lớp a la dự án demo. Hiện tại ba lớp chính của tôi là DashRendererBuilder và hoạt động của Trình phát và Trình phát. Tôi có thanh tìm kiếm trong hoạt động Trình phát của mình và tôi tự hỏi làm cách nào tôi có thể tham chiếu trình phát và trình kết xuất cần thiết trong PlayerActivity của mình để điều khiển âm lượng của Exoplayer.Điều khiển âm lượng của Exoplayer bằng thanh tìm kiếm

Từ câu hỏi quá khứ tôi đã được thông báo rằng

exoPlayer.sendMessage(audioRenderer, MediaCodecAudioTrackRenderer.MSG_SET_VOLUME, 0.1f); 

là thông điệp cuối Tôi đang tìm kiếm để gửi Tuy nhiên như tôi đã nói do tất cả mọi thứ được chia giữa các lớp Tôi gặp rắc rối với các tham khảo của các thành phần cá nhân .

Lý tưởng nhất là tôi muốn có thể có hai trường hợp exoplayer với thanh điều khiển kiểm soát sự kết hợp của hai vì vậy đó là mục tiêu cuối cùng của tôi.

Thật tuyệt vời khi nhận được một số phản hồi hoặc nhận được hướng đi đúng hướng cho vấn đề này vì vậy bất kỳ và tất cả trợ giúp đều được đánh giá cao. Cảm ơn các bạn rất nhiều!

+1

Bạn có thể sử dụng câu trả lời của tôi ở đây http://stackoverflow.com/questions/27404446/mute-audio-on-exoplayer/27404447#27404447 –

Trả lời

3

AudioManager hữu ích để xử lý âm lượng hệ thống. Để điều khiển âm lượng với ExoPlayer, chỉ cần sử dụng này:

Tạo AudioManager đối tượng:

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 

khối lượng Xử lý sử dụng Seekbar:

volumeSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
      @Override 
      public void onProgressChanged(SeekBar seekBar, int i, boolean b) { 
       audioManager.setStreamVolume(exoPlayer.getAudioStreamType(), i, 0); 
      } 

      @Override 
      public void onStartTrackingTouch(SeekBar seekBar) { 

      } 

      @Override 
      public void onStopTrackingTouch(SeekBar seekBar) { 

      } 
     }); 

Nếu bạn muốn xử lý khối lượng phần cứng lên/phím xuống + Seekbar sau đó chỉ cần kiểm tra answer của tôi.

+2

Trong khi liên kết này có thể trả lời câu hỏi, nó là tốt hơn để bao gồm các bộ phận thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/16072536) –

+0

@MoralesBatovski chắc chắn :) – SANAT

Các vấn đề liên quan