在 beagleboard 上使用 dmix 时出现 ALSA“dmix 插件仅支持播放流”错误

在 beagleboard 上使用 dmix 时出现 ALSA“dmix 插件仅支持播放流”错误

在 Beagleboard 上,我需要它播放来自多个进程的声音。

默认的 /etc/asound.conf 是空的,所以我把这个 dmix 示例在。

现在,sund 混合得很好,但是当我尝试运行使用麦克风的进程时,我得到了"(snd_pcm_dmix_open) The dmix plugin supports only playback stream"

我该在配置中修复什么才能使软件混音和麦克风正常工作?

答案1

答案CL(虽然不太冗长并且没有提供示例)是正确的;如果您还想在使用时使用麦克风dmix,则也需要使用asym

允许同时访问麦克风的示例配置dmix可能看起来像这样

pcm.dmixer {
    type dmix
    ipc_key 1024
    slave {
        pcm "hw:0,0"
        period_time 0
        period_size 1024
        buffer_size 8192
   rate 44100
    }

    bindings {
        0 0
        1 1
    }
}

pcm.asymed {
        type asym
        playback.pcm "dmixer"
        capture.pcm "hw:0,0"
}



pcm.dsp0 {
    type plug
    slave.pcm "asymed"
}

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

pcm.default {
   type plug
   slave.pcm "asymed"
}

ctl.mixer0 {
    type hw
    card 0
}

或者无论您的配置是什么,您都希望您的default不是dmixer但是asym(并且有该pcm.asymed块定义单独的playback[您的旧设备dmixercapture设备]

答案2

dmix插件仅适用于播放设备。

为了能够拥有一个既能dmix播放视频又能捕捉视频的设备,你必须使用不对称插件定义用于播放/捕获的不同插件。

相关内容