Linux, проблема со звуком $

Тема в разделе "Общие вопросы по С и С++", создана пользователем vasilevs, 28 ноя 2006.

Статус темы:
Закрыта.
  1. vasilevs

    vasilevs Гость

    Люди шаращие ! Помогите плиз . Работаю с одним хлопцем , он мне пишет программу за $ . Он хороший программер но возникла проблема которая может повлиять на наши отношения :-(
    Суть. Пишем музыкальную программу. Уже практически всё написали и работает, но с cтрого с определённым оборудованием ( встретились только 2 звуковухи которые нормально работали одна старая очень , другая старая SBLive! )
    Купили новую, AUDIGY. ALSA нашла её , определила и установила драйвер. Консольный плеер amp в консоли играет всё нормально но наша программа не стартует. Долго разбирались пока не нашли следующее. Если поставить старые карты, которые нормально работают с нашей программой, можно одновременно запустить 2 консольных плеера amp и они одновременно будут играть . Но если поставить AUDIGY ( и ряд других карт ) , то первый amp работает а второй отказывается и кричит :

    root@localhost:~# amp /root/1.mp3

    amp 0.7.6, © Tomislav Uzelac 1996,1997
    THIS PROGRAM COMES WITH ABSOLUTELY NO WARRANTY
    PLEASE READ THE DOCUMENTATION FOR DETAILS

    Playing: /root/1.mp3
    Unable to open the audio device

    Properties: stereo 44100Hz
    Coding Method: MPEG1.0 layer3
    Bitrate: 192kbit/s
    Broken pipe
    root@localhost:~#


    Мой программер говорит что в том что эта карта ( в данном случае AUDIGY ) не поддерживает много потоков и типа сливай воду. Но я не могу привязываться к строго определённым картам а уж тем более к старым . К тому же мне очень тяжело поверить что AUDIGY чего то может неподдерживать ...


    В проекте используется :
    XFree
    Qt3
    Kernel 2.6.18
    ALSA 1.0.13


    Пожалуйста , скажите можно ли как то победить ситуацию ? Или мне прийдётся скупить на радиобазаре всё старое барахло ?

    Или мой программер ленится что бы решить эту проблему ?

    Спасибо большое !!!!!!!!!!
     
  2. Shadow-Master

    Shadow-Master Гость

    У меня к примеру на cm8738 xmms и др. приложения монопольно захватывают звуковуху и при попытке другим приложением чё-нидь говорит:Device bysy или device already in use.
     
  3. Rommer

    Rommer Гость

    Ваш программер абсолютно прав. По умолчанию через ALSA одновременно можно проигрывать столько потоков, сколько звуковая карта может смешивать хардварно. На старый звуковухах это ~ 4 потока, SBLive! (у меня сейчас стоит) - 16 потоков, все остальные, что я встречал (встроенные в мптеринку) - 1.
    Вам поможет плагин к ALSA - dmix: он смешивает звуки софтваро на уровне библиотек alsa, а дальше отправляет на звуковую карту только один поток. Да моей Fedora Core 3 он включается так:
    Вконце /etc/alsa/alsa.conf нужно дописать следующее:
    #
    # Dmix ALSA plugin
    #

    pcm.ossmix {
    type dmix
    ipc_key 1027
    slave {
    pcm "hw:0,0"
    period_time 0
    period_size 1024
    buffer_size 4096
    rate 44100
    }
    bindings {
    0 0
    1 1
    }
    }

    pcm.!default {
    type plug
    slave.pcm "ossmix"
    }

    ctl.mixer0 {
    type hw
    card 0
    }
     
Загрузка...
Похожие Темы - Linux проблема со
  1. ENSLER
    Ответов:
    0
    Просмотров:
    105
  2. Zloikaktus
    Ответов:
    5
    Просмотров:
    31
  3. cyber23
    Ответов:
    0
    Просмотров:
    28
  4. Lamerman
    Ответов:
    15
    Просмотров:
    117
  5. systeman
    Ответов:
    1
    Просмотров:
    54
Статус темы:
Закрыта.

Поделиться этой страницей