• Как получить звук с аудиовыхода java?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    В яве с медиа-api есть проблема. Но не все так плохо.
    Если ява на андроиде, то все хорошо, но это не ко мне...
    Если просто ява, то есть такая штука - gstreamer, а к нему неплохой биндинг для явы - https://github.com/gstreamer-java/gst1-java-core и примеры - https://github.com/gstreamer-java/gst1-java-examples
    Под линуксом все отлично работает, я сам занимаюсь звуком, написал с использованием gstreamer и java несколько приложений. Работает под OSX и линукс. Под виндовс тоже вроде бы работает.
    Также с gstreamer можно работать на питоне, буквально 5 дней назад написал приложение, которое берет звук с микрофона и постит в shoutcast сервер. Вот примеры - https://github.com/GStreamer/gst-python/tree/maste...
    Вообще, с gstreamer можно работать на любых языках программирования, от C/C++ до Rust
    - https://gstreamer.freedesktop.org/
    Вообще, gstreamer очень мощная вещь, можно и в аудио, и в видео, и туда и обратно, с потоками и без.
    Задавайте вопросы, если что.

    PS. Да, java + gstreamer - вещь не для начинающих, нужно сначала хотя бы прочесть учебник по gstreamer, он заточен на C/C++, иначе ничего понятно не будет. С другой стороны, ничего сложного и нет, главное въехать в парадигму пайплайнов и шины сообщений.

    Да, что касается линукса, то звук можно перехватить практически из любого приложения через pulseaudio, а уже затем через pulsesrc плагин забрать в gstreamer и свое приложение.
    В винде тоже самое можно попробовать сделать через directshow + gstreamer.
    Ответ написан
    2 комментария