Я работаю над мобильным приложением для Maemo/MeeGo, а Maemo использует PulseAudio. Я хочу воспроизвести mp3 для звонящего (и отменить микрофон при его выполнении, а не прослушивать звонящего, все должно быть сделано на фоне), для этого мне нужно перенаправить аудиовыход с определенного (если это невозможно, все), подделать его как вход и сделать приложение для телефона.
На моем компьютере Ubuntu я сделал это с помощью pavucontrol. Я создал NULL-приемник, затем:
Audio Output (from Amarok) --> to NULL Output
Skype Input <-- NULL Output
Skype Output --> NULL
И это сработало, Амарок играл музыку, и она транслировалась в Skype, не играя мне, и я ничего не слышал обо всех процессах. Проблема заключается в следующем; a) у Maemo нет павуконтроля. б) Даже если бы это было (или если я его упакую), это не будет хорошим, так как это приложение только GUI, и я должен делать все это на фоне, без ввода пользователем. (среднее: CLI или API)
Отвечая на вопрос об этом на Freenode #pulseaudio, и полезный парень сказал: "Это можно сделать с помощью pactl или pacmd, команды, которые вы хотите, - это перемещение-приемник и вывод-вывод-выход, но вам нужно знать устройство и потоковые индексы". Итак, похоже, что pavucontrol - это всего лишь графический интерфейс, pactl и pacmd - это реальная сделка, и, самое главное, это приложения CLI.
Я очень благодарен ему, но я ничего не знаю о "pactl", "pacmd", "move-sink-input" или "device/stream indexes", поэтому мне нужна очень упрощенная страница руководства или источник аналогичного приложения, команда с одним слоем (две целые страницы команд?), просто дайте мне их! ^^) или кто-то с достаточным терпением, чтобы объяснить это мне.