cung cấp thông tin chính xác hơn để chơi thông qua các kịch bản, có 3 cách để thay đổi âm thanh khối lượng trong phiên bản hiện tại của omxplayer, và các giá trị không quá trực quan:
- trên bắt đầu từ dòng lệnh, param
--vol YYY
, millibels đôi, mặc định 0, khoảng [-6000: 0]
- bởi s giao diện tdin, gửi +/- để omxplayer sẽ tăng/giảm âm lượng cho 300 dmbels
- với DBUS giao diện, cmd 'đặt khối lượng, giá trị
double:XXX
, mặc định 1, khoảng [0: 1]
xxx để quan hệ yyy là: XXX = 10^(YYY/2000)
... theo mã số omxplayer.cpp, công thức ngược lại sẽ là: YYY = 2000 * (log XXX)
.
vì vậy nếu chúng ta cần:
- khối lượng 1%, XXX = 0,01 và YYY = -4000
(10^(-4000/2000)=10^-2=0.01
- khối lượng 10%, XXX = 0,1 và YYY = -2000
(10^(-2000/2000)=10^-1=0.1
- khối lượng 50% , XXX = 0,5 và YYY = -602
(10^(-602/2000))~=0.5
- khối lượng 100%, XXX = 1 và YYY = 0
(10^(0/2000)=10^0=1)
- khối lượng 150%, XXX = 1,5 và YYY = 352 ...(Đối với kiểm tra tăng, giá trị bình thường là < = 100%)
kịch bản làm việc bash cho lệnh khối lượng dbus:
export DBUS_SESSION_BUS_ADDRESS=$(cat /tmp/omxplayerdbus.${USER:-root})
dbus-send --print-reply --session --reply-timeout=500 \
--dest=org.mpris.MediaPlayer2.omxplayer \
/org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Set \
string:"org.mpris.MediaPlayer2.Player" \
string:"Volume" double:0.5 # <-- XXX=0.5 (50% sound volume)
tương đương với số lượng lúc khởi động:
omxplayer --vol -602 mediaFileName.mp4
.. cả hai thiết lập âm lượng âm thanh đến 50%.
giải thích rất hay – Teemo