给你的mpv添加切换左右声道的功能

2021-05-23  本文已影响0人  mudssky

使用mpv的用户脚本可以实现这个功能。

switch-audio-channel.js,具体可以到我的脚本仓库下载https://github.com/mudssky/mpv-config

这个插件主要是个人在听一些asmr音频时萌发的需求。

因为很多情景下都是对你单边耳朵进行操作的,有时候就一直只攻击你的一只耳朵,这时候你可能就会想把左耳朵和右耳朵切换一下就好了,最简单的方法就是把耳机左右耳换一下。但是有了这个插件,你就节省了这个操作。

还有一个神奇的双耳mix模式,就是两个耳朵都分别混音了左声道和右声道。但是注意,这个模式并没有立体声的效果。两边耳朵都是左声道和右声道的mix,但是结果是失去了立体声的效果。(左右都是100%的音量mix,因此看左右声道一样的视频,比如一般的动漫你会感觉声音变大了。)

个人也不是很清楚其中的原理。

所以如果你想体验两只耳朵被攻击的感觉,建议开两个mpv,一个切换左右声道,同时播放就是立体声了。

feature

快捷键说明

快捷键很方便记忆,

键位 作用
alt+t 切换左右声道
alt+l 左右声道都播放左声道
alt+r 左右声道都播放右声道
alt+a 左右声道mix模式
shift+alt+r 重置成立体声双声道
"use strict";
;
(function (mp) {
    function switchFRtoFL() {
        var afstr = 'lavfi=[pan=stereo|c0=c1|c1=c0]';
        mp.set_property('af', afstr);
        mp.osd_message('swith FR and LR.');
        mp.msg.debug(afstr);
    }
    function switchAllFR() {
        var afstr = 'lavfi=[pan=stereo|c0=c1|c1=c1]';
        mp.set_property('af', afstr);
        mp.osd_message('change all channels to FR.');
        mp.msg.debug(afstr);
    }
    function switchAllFL() {
        var afstr = 'lavfi=[pan=stereo|c0=c0|c1=c0]';
        mp.set_property('af', afstr);
        mp.osd_message('change all channels to LR');
        mp.msg.debug(afstr);
    }
    function mixAll() {
        var afstr = 'lavfi=[pan=stereo|FL=FL+FR|FR=FL+FR]';
        mp.set_property('af', afstr);
        mp.osd_message('change all channels to all');
        mp.msg.debug(afstr);
    }
    function resetAF() {
        var afstr = 'lavfi=[pan=stereo|c0=c0|c1=c1]';
        mp.set_property('af', afstr);
        mp.osd_message('reset AF.');
        mp.msg.debug(afstr);
    }
    mp.add_key_binding('alt+t', 'switchFRtoFL', switchFRtoFL);
    mp.add_key_binding('alt+r', 'switchAllFR', switchAllFR);
    mp.add_key_binding('alt+l', 'switchAllFL:', switchAllFL);
    mp.add_key_binding('alt+a', 'mixAll', mixAll);
    mp.add_key_binding('shift+alt+r', 'resetAF', resetAF);
})(mp);

上一篇下一篇

猜你喜欢

热点阅读