Переключение между динамиком, Bluetooth стерео, Bluetooth моно

У меня нет ответа, но, возможно, тестирование с помощью gstreamer-properties приведет вас куда-нибудь. Сыр просто использует gstreamer, поэтому, если вы можете заставить его работать в gstreamer-properties, тогда он будет работать в сыре.

3
задан 3 July 2012 в 16:42

17 ответов

Насколько мне известно, не существует простого решения в один клик, которое бы позволило нам быстро переключиться с внутреннего звука на профиль аудио Bluetooth A2DP и ​​профиль гарнитуры Bluetooth HSP.

Однако мы можем изменить звук вывод из командной строки, что дает нам возможность создать скрипт для переключения вывода звука. Нам нужны следующие команды:

  • pacmd list-cards выведет список доступных карт. Как только гарнитура будет подключена, мы получим доступ к свойствам аудио Bluetooth. Кроме того, теперь мы можем узнать индекс карточек pulseaudio и возможные профили для следующих команд.
  • pacmd set-card-profile <index> <profile> изменяет профиль для номера карточки <index>. Для карты Bluetooth рассматриваемый профиль будет a2dp для профиля аудио и hsp для профиля телефонной гарнитуры.
  • pacmd set-default-sink и pacmd set-default-source изменят выход, соответственно. вход, используемый pulseaudio. Это не может быть сделано во время воспроизведения. См. этот ответ для получения подробной информации о том, как это сделать.

Ниже приведен пример сценария, который можно использовать для переключения вывода звука для гарнитуры Bluetooth:

#!/bin/bash
# CLI options:  `a2dp': Audio Profile
#               `hsp':  Telephony Profile
#               <Index> Default Sink (try `0' or `1')

SINK=$( pacmd list-cards | grep -B 1 bluez )
INDEX=${SINK:10:2}
SINK=$( pacmd list-cards | grep bluez )
MAC=${SINK:19:17}
BT_SINK="bluez_sink.$MAC"
BT_SOURCE="bluez_source.$MAC"

if [ $1 = a2dp ]; then
    echo Setting A2DP audio sink $BT_SINK
    pacmd set-card-profile $INDEX a2dp
    pacmd set-default-sink $BT_SINK
elif [ $1 = hsp ]; then
    echo Setting HSP headset sink $BT_SOURCE
    pacmd set-card-profile $INDEX hsp
    pacmd set-default-sink $BT_SINK
    pacmd set-default-source $BT_SOURCE
else
    echo Resetting to internal audio
    pacmd set-default-sink $1
    pacmd set-default-source $1
fi

Скопируйте скрипт, сохраните его как switch-sink и предоставьте ему разрешение на выполнение. В терминале перейдите в каталог сценариев и выполните сценарий со следующими параметрами:

switch-sink a2dp    # switches to audio profile
switch-sink hsp     # switches to headset/telephony profile
switch-sink <index> # switches to sink <index>, e.g. 0 depending on our default

Укажите полный путь к сценарию при выполнении с помощью сочетания клавиш или из файла .desktop (для рабочего стола или launcher).


Дополнительные примечания к звуковой карте INDEX:

В случае, если в pulseaudio зарегистрировано более 99 звуковых карт, этот сценарий здесь не будет работать. Это может стать проблемой, поскольку ИНДЕКС карты будет увеличиваться при каждом включении питания или повторном подключении устройства Bluetooth. В качестве обходного пути мы можем изменить последнее условие else, чтобы сбросить сервер pulseaudio (который затем также загрузит наш приемник звука по умолчанию):

else
    pulseaudio -k
fi
1
ответ дан 25 July 2018 в 18:13

Насколько мне известно, не существует простого решения в один клик, которое бы позволило нам быстро переключиться с внутреннего звука на профиль аудио Bluetooth A2DP и ​​профиль гарнитуры Bluetooth HSP.

Однако мы можем изменить звук вывод из командной строки, что дает нам возможность создать скрипт для переключения вывода звука. Нам нужны следующие команды:

  • pacmd list-cards выведет список доступных карт. Как только гарнитура будет подключена, мы получим доступ к свойствам аудио Bluetooth. Кроме того, теперь мы можем узнать индекс карточек pulseaudio и возможные профили для следующих команд.
  • pacmd set-card-profile <index> <profile> изменяет профиль для номера карточки <index>. Для карты Bluetooth рассматриваемый профиль будет a2dp для профиля аудио и hsp для профиля телефонной гарнитуры.
  • pacmd set-default-sink и pacmd set-default-source изменят выход, соответственно. вход, используемый pulseaudio. Это не может быть сделано во время воспроизведения. См. этот ответ для получения подробной информации о том, как это сделать.

Ниже приведен пример сценария, который можно использовать для переключения вывода звука для гарнитуры Bluetooth:

#!/bin/bash
# CLI options:  `a2dp': Audio Profile
#               `hsp':  Telephony Profile
#               <Index> Default Sink (try `0' or `1')

SINK=$( pacmd list-cards | grep -B 1 bluez )
INDEX=${SINK:10:2}
SINK=$( pacmd list-cards | grep bluez )
MAC=${SINK:19:17}
BT_SINK="bluez_sink.$MAC"
BT_SOURCE="bluez_source.$MAC"

if [ $1 = a2dp ]; then
    echo Setting A2DP audio sink $BT_SINK
    pacmd set-card-profile $INDEX a2dp
    pacmd set-default-sink $BT_SINK
elif [ $1 = hsp ]; then
    echo Setting HSP headset sink $BT_SOURCE
    pacmd set-card-profile $INDEX hsp
    pacmd set-default-sink $BT_SINK
    pacmd set-default-source $BT_SOURCE
else
    echo Resetting to internal audio
    pacmd set-default-sink $1
    pacmd set-default-source $1
fi

Скопируйте скрипт, сохраните его как switch-sink и предоставьте ему разрешение на выполнение. В терминале перейдите в каталог сценариев и выполните сценарий со следующими параметрами:

switch-sink a2dp    # switches to audio profile
switch-sink hsp     # switches to headset/telephony profile
switch-sink <index> # switches to sink <index>, e.g. 0 depending on our default

Укажите полный путь к сценарию при выполнении с помощью сочетания клавиш или из файла .desktop (для рабочего стола или launcher).


Дополнительные примечания к звуковой карте INDEX:

В случае, если в pulseaudio зарегистрировано более 99 звуковых карт, этот сценарий здесь не будет работать. Это может стать проблемой, поскольку ИНДЕКС карты будет увеличиваться при каждом включении питания или повторном подключении устройства Bluetooth. В качестве обходного пути мы можем изменить последнее условие else, чтобы сбросить сервер pulseaudio (который затем также загрузит наш приемник звука по умолчанию):

else
    pulseaudio -k
fi
1
ответ дан 31 July 2018 в 13:25

Насколько мне известно, не существует простого решения в один клик, которое бы позволило нам быстро переключиться с внутреннего звука на профиль аудио Bluetooth A2DP и ​​профиль гарнитуры Bluetooth HSP.

Однако мы можем изменить звук вывод из командной строки, что дает нам возможность создать скрипт для переключения вывода звука. Нам нужны следующие команды:

  • pacmd list-cards выведет список доступных карт. Как только гарнитура будет подключена, мы получим доступ к свойствам аудио Bluetooth. Кроме того, теперь мы можем узнать индекс карточек pulseaudio и возможные профили для следующих команд.
  • pacmd set-card-profile <index> <profile> изменяет профиль для номера карточки <index>. Для карты Bluetooth рассматриваемый профиль будет a2dp для профиля аудио и hsp для профиля телефонной гарнитуры.
  • pacmd set-default-sink и pacmd set-default-source изменят выход, соответственно. вход, используемый pulseaudio. Это не может быть сделано во время воспроизведения. См. этот ответ для получения подробной информации о том, как это сделать.

Ниже приведен пример сценария, который можно использовать для переключения вывода звука для гарнитуры Bluetooth:

#!/bin/bash
# CLI options:  `a2dp': Audio Profile
#               `hsp':  Telephony Profile
#               <Index> Default Sink (try `0' or `1')

SINK=$( pacmd list-cards | grep -B 1 bluez )
INDEX=${SINK:10:2}
SINK=$( pacmd list-cards | grep bluez )
MAC=${SINK:19:17}
BT_SINK="bluez_sink.$MAC"
BT_SOURCE="bluez_source.$MAC"

if [ $1 = a2dp ]; then
    echo Setting A2DP audio sink $BT_SINK
    pacmd set-card-profile $INDEX a2dp
    pacmd set-default-sink $BT_SINK
elif [ $1 = hsp ]; then
    echo Setting HSP headset sink $BT_SOURCE
    pacmd set-card-profile $INDEX hsp
    pacmd set-default-sink $BT_SINK
    pacmd set-default-source $BT_SOURCE
else
    echo Resetting to internal audio
    pacmd set-default-sink $1
    pacmd set-default-source $1
fi

Скопируйте скрипт, сохраните его как switch-sink и предоставьте ему разрешение на выполнение. В терминале перейдите в каталог сценариев и выполните сценарий со следующими параметрами:

switch-sink a2dp    # switches to audio profile
switch-sink hsp     # switches to headset/telephony profile
switch-sink <index> # switches to sink <index>, e.g. 0 depending on our default

Укажите полный путь к сценарию при выполнении с помощью сочетания клавиш или из файла .desktop (для рабочего стола или launcher).


Дополнительные примечания к звуковой карте INDEX:

В случае, если в pulseaudio зарегистрировано более 99 звуковых карт, этот сценарий здесь не будет работать. Это может стать проблемой, поскольку ИНДЕКС карты будет увеличиваться при каждом включении питания или повторном подключении устройства Bluetooth. В качестве обходного пути мы можем изменить последнее условие else, чтобы сбросить сервер pulseaudio (который затем также загрузит наш приемник звука по умолчанию):

else
    pulseaudio -k
fi
1
ответ дан 2 August 2018 в 00:27

Насколько мне известно, не существует простого решения в один клик, которое бы позволило нам быстро переключиться с внутреннего звука на профиль аудио Bluetooth A2DP и ​​профиль гарнитуры Bluetooth HSP.

Однако мы можем изменить звук вывод из командной строки, что дает нам возможность создать скрипт для переключения вывода звука. Нам нужны следующие команды:

  • pacmd list-cards выведет список доступных карт. Как только гарнитура будет подключена, мы получим доступ к свойствам аудио Bluetooth. Кроме того, теперь мы можем узнать индекс карточек pulseaudio и возможные профили для следующих команд.
  • pacmd set-card-profile <index> <profile> изменяет профиль для номера карточки <index>. Для карты Bluetooth рассматриваемый профиль будет a2dp для профиля аудио и hsp для профиля телефонной гарнитуры.
  • pacmd set-default-sink и pacmd set-default-source изменят выход, соответственно. вход, используемый pulseaudio. Это не может быть сделано во время воспроизведения. См. этот ответ для получения подробной информации о том, как это сделать.

Ниже приведен пример сценария, который можно использовать для переключения вывода звука для гарнитуры Bluetooth:

#!/bin/bash
# CLI options:  `a2dp': Audio Profile
#               `hsp':  Telephony Profile
#               <Index> Default Sink (try `0' or `1')

SINK=$( pacmd list-cards | grep -B 1 bluez )
INDEX=${SINK:10:2}
SINK=$( pacmd list-cards | grep bluez )
MAC=${SINK:19:17}
BT_SINK="bluez_sink.$MAC"
BT_SOURCE="bluez_source.$MAC"

if [ $1 = a2dp ]; then
    echo Setting A2DP audio sink $BT_SINK
    pacmd set-card-profile $INDEX a2dp
    pacmd set-default-sink $BT_SINK
elif [ $1 = hsp ]; then
    echo Setting HSP headset sink $BT_SOURCE
    pacmd set-card-profile $INDEX hsp
    pacmd set-default-sink $BT_SINK
    pacmd set-default-source $BT_SOURCE
else
    echo Resetting to internal audio
    pacmd set-default-sink $1
    pacmd set-default-source $1
fi

Скопируйте скрипт, сохраните его как switch-sink и предоставьте ему разрешение на выполнение. В терминале перейдите в каталог сценариев и выполните сценарий со следующими параметрами:

switch-sink a2dp    # switches to audio profile
switch-sink hsp     # switches to headset/telephony profile
switch-sink <index> # switches to sink <index>, e.g. 0 depending on our default

Укажите полный путь к сценарию при выполнении с помощью сочетания клавиш или из файла .desktop (для рабочего стола или launcher).


Дополнительные примечания к звуковой карте INDEX:

В случае, если в pulseaudio зарегистрировано более 99 звуковых карт, этот сценарий здесь не будет работать. Это может стать проблемой, поскольку ИНДЕКС карты будет увеличиваться при каждом включении питания или повторном подключении устройства Bluetooth. В качестве обходного пути мы можем изменить последнее условие else, чтобы сбросить сервер pulseaudio (который затем также загрузит наш приемник звука по умолчанию):

else
    pulseaudio -k
fi
1
ответ дан 4 August 2018 в 15:55

Насколько мне известно, не существует простого решения в один клик, которое бы позволило нам быстро переключиться с внутреннего звука на профиль аудио Bluetooth A2DP и ​​профиль гарнитуры Bluetooth HSP.

Однако мы можем изменить звук вывод из командной строки, что дает нам возможность создать скрипт для переключения вывода звука. Нам нужны следующие команды:

  • pacmd list-cards выведет список доступных карт. Как только гарнитура будет подключена, мы получим доступ к свойствам аудио Bluetooth. Кроме того, теперь мы можем узнать индекс карточек pulseaudio и возможные профили для следующих команд.
  • pacmd set-card-profile <index> <profile> изменяет профиль для номера карточки <index>. Для карты Bluetooth рассматриваемый профиль будет a2dp для профиля аудио и hsp для профиля телефонной гарнитуры.
  • pacmd set-default-sink и pacmd set-default-source изменят выход, соответственно. вход, используемый pulseaudio. Это не может быть сделано во время воспроизведения. См. этот ответ для получения подробной информации о том, как это сделать.

Ниже приведен пример сценария, который можно использовать для переключения вывода звука для гарнитуры Bluetooth:

#!/bin/bash
# CLI options:  `a2dp': Audio Profile
#               `hsp':  Telephony Profile
#               <Index> Default Sink (try `0' or `1')

SINK=$( pacmd list-cards | grep -B 1 bluez )
INDEX=${SINK:10:2}
SINK=$( pacmd list-cards | grep bluez )
MAC=${SINK:19:17}
BT_SINK="bluez_sink.$MAC"
BT_SOURCE="bluez_source.$MAC"

if [ $1 = a2dp ]; then
    echo Setting A2DP audio sink $BT_SINK
    pacmd set-card-profile $INDEX a2dp
    pacmd set-default-sink $BT_SINK
elif [ $1 = hsp ]; then
    echo Setting HSP headset sink $BT_SOURCE
    pacmd set-card-profile $INDEX hsp
    pacmd set-default-sink $BT_SINK
    pacmd set-default-source $BT_SOURCE
else
    echo Resetting to internal audio
    pacmd set-default-sink $1
    pacmd set-default-source $1
fi

Скопируйте скрипт, сохраните его как switch-sink и предоставьте ему разрешение на выполнение. В терминале перейдите в каталог сценариев и выполните сценарий со следующими параметрами:

switch-sink a2dp    # switches to audio profile
switch-sink hsp     # switches to headset/telephony profile
switch-sink <index> # switches to sink <index>, e.g. 0 depending on our default

Укажите полный путь к сценарию при выполнении с помощью сочетания клавиш или из файла .desktop (для рабочего стола или launcher).


Дополнительные примечания к звуковой карте INDEX:

В случае, если в pulseaudio зарегистрировано более 99 звуковых карт, этот сценарий здесь не будет работать. Это может стать проблемой, поскольку ИНДЕКС карты будет увеличиваться при каждом включении питания или повторном подключении устройства Bluetooth. В качестве обходного пути мы можем изменить последнее условие else, чтобы сбросить сервер pulseaudio (который затем также загрузит наш приемник звука по умолчанию):

else
    pulseaudio -k
fi
1
ответ дан 6 August 2018 в 00:34

Насколько мне известно, не существует простого решения в один клик, которое бы позволило нам быстро переключиться с внутреннего звука на профиль аудио Bluetooth A2DP и ​​профиль гарнитуры Bluetooth HSP.

Однако мы можем изменить звук вывод из командной строки, что дает нам возможность создать скрипт для переключения вывода звука. Нам нужны следующие команды:

  • pacmd list-cards выведет список доступных карт. Как только гарнитура будет подключена, мы получим доступ к свойствам аудио Bluetooth. Кроме того, теперь мы можем узнать индекс карточек pulseaudio и возможные профили для следующих команд.
  • pacmd set-card-profile <index> <profile> изменяет профиль для номера карточки <index>. Для карты Bluetooth рассматриваемый профиль будет a2dp для профиля аудио и hsp для профиля телефонной гарнитуры.
  • pacmd set-default-sink и pacmd set-default-source изменят выход, соответственно. вход, используемый pulseaudio. Это не может быть сделано во время воспроизведения. См. этот ответ для получения подробной информации о том, как это сделать.

Ниже приведен пример сценария, который можно использовать для переключения вывода звука для гарнитуры Bluetooth:

#!/bin/bash
# CLI options:  `a2dp': Audio Profile
#               `hsp':  Telephony Profile
#               <Index> Default Sink (try `0' or `1')

SINK=$( pacmd list-cards | grep -B 1 bluez )
INDEX=${SINK:10:2}
SINK=$( pacmd list-cards | grep bluez )
MAC=${SINK:19:17}
BT_SINK="bluez_sink.$MAC"
BT_SOURCE="bluez_source.$MAC"

if [ $1 = a2dp ]; then
    echo Setting A2DP audio sink $BT_SINK
    pacmd set-card-profile $INDEX a2dp
    pacmd set-default-sink $BT_SINK
elif [ $1 = hsp ]; then
    echo Setting HSP headset sink $BT_SOURCE
    pacmd set-card-profile $INDEX hsp
    pacmd set-default-sink $BT_SINK
    pacmd set-default-source $BT_SOURCE
else
    echo Resetting to internal audio
    pacmd set-default-sink $1
    pacmd set-default-source $1
fi

Скопируйте скрипт, сохраните его как switch-sink и предоставьте ему разрешение на выполнение. В терминале перейдите в каталог сценариев и выполните сценарий со следующими параметрами:

switch-sink a2dp    # switches to audio profile
switch-sink hsp     # switches to headset/telephony profile
switch-sink <index> # switches to sink <index>, e.g. 0 depending on our default

Укажите полный путь к сценарию при выполнении с помощью сочетания клавиш или из файла .desktop (для рабочего стола или launcher).


Дополнительные примечания к звуковой карте INDEX:

В случае, если в pulseaudio зарегистрировано более 99 звуковых карт, этот сценарий здесь не будет работать. Это может стать проблемой, поскольку ИНДЕКС карты будет увеличиваться при каждом включении питания или повторном подключении устройства Bluetooth. В качестве обходного пути мы можем изменить последнее условие else, чтобы сбросить сервер pulseaudio (который затем также загрузит наш приемник звука по умолчанию):

else
    pulseaudio -k
fi
1
ответ дан 7 August 2018 в 17:59

Насколько мне известно, не существует простого решения в один клик, которое бы позволило нам быстро переключиться с внутреннего звука на профиль аудио Bluetooth A2DP и ​​профиль гарнитуры Bluetooth HSP.

Однако мы можем изменить звук вывод из командной строки, что дает нам возможность создать скрипт для переключения вывода звука. Нам нужны следующие команды:

  • pacmd list-cards выведет список доступных карт. Как только гарнитура будет подключена, мы получим доступ к свойствам аудио Bluetooth. Кроме того, теперь мы можем узнать индекс карточек pulseaudio и возможные профили для следующих команд.
  • pacmd set-card-profile <index> <profile> изменяет профиль для номера карточки <index>. Для карты Bluetooth рассматриваемый профиль будет a2dp для профиля аудио и hsp для профиля телефонной гарнитуры.
  • pacmd set-default-sink и pacmd set-default-source изменят выход, соответственно. вход, используемый pulseaudio. Это не может быть сделано во время воспроизведения. См. этот ответ для получения подробной информации о том, как это сделать.

Ниже приведен пример сценария, который можно использовать для переключения вывода звука для гарнитуры Bluetooth:

#!/bin/bash
# CLI options:  `a2dp': Audio Profile
#               `hsp':  Telephony Profile
#               <Index> Default Sink (try `0' or `1')

SINK=$( pacmd list-cards | grep -B 1 bluez )
INDEX=${SINK:10:2}
SINK=$( pacmd list-cards | grep bluez )
MAC=${SINK:19:17}
BT_SINK="bluez_sink.$MAC"
BT_SOURCE="bluez_source.$MAC"

if [ $1 = a2dp ]; then
    echo Setting A2DP audio sink $BT_SINK
    pacmd set-card-profile $INDEX a2dp
    pacmd set-default-sink $BT_SINK
elif [ $1 = hsp ]; then
    echo Setting HSP headset sink $BT_SOURCE
    pacmd set-card-profile $INDEX hsp
    pacmd set-default-sink $BT_SINK
    pacmd set-default-source $BT_SOURCE
else
    echo Resetting to internal audio
    pacmd set-default-sink $1
    pacmd set-default-source $1
fi

Скопируйте скрипт, сохраните его как switch-sink и предоставьте ему разрешение на выполнение. В терминале перейдите в каталог сценариев и выполните сценарий со следующими параметрами:

switch-sink a2dp    # switches to audio profile
switch-sink hsp     # switches to headset/telephony profile
switch-sink <index> # switches to sink <index>, e.g. 0 depending on our default

Укажите полный путь к сценарию при выполнении с помощью сочетания клавиш или из файла .desktop (для рабочего стола или launcher).


Дополнительные примечания к звуковой карте INDEX:

В случае, если в pulseaudio зарегистрировано более 99 звуковых карт, этот сценарий здесь не будет работать. Это может стать проблемой, поскольку ИНДЕКС карты будет увеличиваться при каждом включении питания или повторном подключении устройства Bluetooth. В качестве обходного пути мы можем изменить последнее условие else, чтобы сбросить сервер pulseaudio (который затем также загрузит наш приемник звука по умолчанию):

else
    pulseaudio -k
fi
1
ответ дан 10 August 2018 в 06:48

Насколько мне известно, не существует простого решения в один клик, которое бы позволило нам быстро переключиться с внутреннего звука на профиль аудио Bluetooth A2DP и ​​профиль гарнитуры Bluetooth HSP.

Однако мы можем изменить звук вывод из командной строки, что дает нам возможность создать скрипт для переключения вывода звука. Нам нужны следующие команды:

  • pacmd list-cards выведет список доступных карт. Как только гарнитура будет подключена, мы получим доступ к свойствам аудио Bluetooth. Кроме того, теперь мы можем узнать индекс карточек pulseaudio и возможные профили для следующих команд.
  • pacmd set-card-profile <index> <profile> изменяет профиль для номера карточки <index>. Для карты Bluetooth рассматриваемый профиль будет a2dp для профиля аудио и hsp для профиля телефонной гарнитуры.
  • pacmd set-default-sink и pacmd set-default-source изменят выход, соответственно. вход, используемый pulseaudio. Это не может быть сделано во время воспроизведения. См. этот ответ для получения подробной информации о том, как это сделать.

Ниже приведен пример сценария, который можно использовать для переключения вывода звука для гарнитуры Bluetooth:

#!/bin/bash
# CLI options:  `a2dp': Audio Profile
#               `hsp':  Telephony Profile
#               <Index> Default Sink (try `0' or `1')

SINK=$( pacmd list-cards | grep -B 1 bluez )
INDEX=${SINK:10:2}
SINK=$( pacmd list-cards | grep bluez )
MAC=${SINK:19:17}
BT_SINK="bluez_sink.$MAC"
BT_SOURCE="bluez_source.$MAC"

if [ $1 = a2dp ]; then
    echo Setting A2DP audio sink $BT_SINK
    pacmd set-card-profile $INDEX a2dp
    pacmd set-default-sink $BT_SINK
elif [ $1 = hsp ]; then
    echo Setting HSP headset sink $BT_SOURCE
    pacmd set-card-profile $INDEX hsp
    pacmd set-default-sink $BT_SINK
    pacmd set-default-source $BT_SOURCE
else
    echo Resetting to internal audio
    pacmd set-default-sink $1
    pacmd set-default-source $1
fi

Скопируйте скрипт, сохраните его как switch-sink и предоставьте ему разрешение на выполнение. В терминале перейдите в каталог сценариев и выполните сценарий со следующими параметрами:

switch-sink a2dp    # switches to audio profile
switch-sink hsp     # switches to headset/telephony profile
switch-sink <index> # switches to sink <index>, e.g. 0 depending on our default

Укажите полный путь к сценарию при выполнении с помощью сочетания клавиш или из файла .desktop (для рабочего стола или launcher).


Дополнительные примечания к звуковой карте INDEX:

В случае, если в pulseaudio зарегистрировано более 99 звуковых карт, этот сценарий здесь не будет работать. Это может стать проблемой, поскольку ИНДЕКС карты будет увеличиваться при каждом включении питания или повторном подключении устройства Bluetooth. В качестве обходного пути мы можем изменить последнее условие else, чтобы сбросить сервер pulseaudio (который затем также загрузит наш приемник звука по умолчанию):

else
    pulseaudio -k
fi
1
ответ дан 15 August 2018 в 18:43
  • 1
    Здорово. В Unity я могу связать такой скрипт с меню правой кнопки мыши, и у меня есть решение для правой / левой кнопки мыши. Большое спасибо – stwissel 4 July 2012 в 09:19
  • 2
    Да, это преимущество CLI & amp; скрипты. Вы можете сделать все это - даже обернуть GUI или AppIndicator вокруг него. Небольшая проблема заключается в том, что мы не можем иметь более 99 индексов звуковых карт с помощью метода primitve здесь, чтобы получить карточку INDEX - см. Обходной путь для редактирования :) – Takkat 4 July 2012 в 11:28

Думаю, я нашел ошибку с этим решением. В моем случае только 1 был установлен как индекс, поэтому я получил эту ошибку >>> Никакая карта не найдена по этому имени или индексу.

$ pacmd list-cards | grep -B 1 bluez
    index: 10
    name: <bluez_card.00_0D_44_A6_7D_85>
--
        device.string = "00:0D:44:A6:7D:85"
        device.api = "bluez"
--
        device.form_factor = "headset"
        bluez.path = "/org/bluez/1085/hci0/dev_00_0D_44_A6_7D_85"
        bluez.class = "0x240404"
        bluez.name = "Logitech Wireless Headset"
--
    sinks:
        bluez_sink.00_0D_44_A6_7D_85/#11: Logitech Wireless Headset
    sources:
        bluez_sink.00_0D_44_A6_7D_85.monitor/#22: Monitor of Logitech Wireless Headset

Я изменил ваш скрипт, и теперь он работает хорошо. (Это не лучшее решение)

Это то, что я изменил

#SINK=$( pacmd list-cards | grep -B 1 bluez | head -1 )
INDEX=$( pacmd list-cards | grep -B 1 bluez | head -1 | awk ' { print $2 } ' )
#SINK=$( pacmd list-cards | grep bluez )
MAC=$( pacmd list-cards | grep bluez | head -1 | awk -F . ' { print substr($2,0,length($2)) }' )
3
ответ дан 25 May 2018 в 09:04

Я думаю, что нашел ошибку с этим решением. В моем случае только 1 был установлен в качестве индекса, поэтому я получил эту ошибку >>> Карта с таким именем или индексом не найдена.

$ pacmd list-cards | grep -B 1 bluez
    index: 10
    name: <bluez_card.00_0D_44_A6_7D_85>
--
        device.string = "00:0D:44:A6:7D:85"
        device.api = "bluez"
--
        device.form_factor = "headset"
        bluez.path = "/org/bluez/1085/hci0/dev_00_0D_44_A6_7D_85"
        bluez.class = "0x240404"
        bluez.name = "Logitech Wireless Headset"
--
    sinks:
        bluez_sink.00_0D_44_A6_7D_85/#11: Logitech Wireless Headset
    sources:
        bluez_sink.00_0D_44_A6_7D_85.monitor/#22: Monitor of Logitech Wireless Headset

Я изменил ваш скрипт, и теперь он работает хорошо. (Возможно, это не лучшее решение)

Это то, что я изменил

#SINK=$( pacmd list-cards | grep -B 1 bluez | head -1 )
INDEX=$( pacmd list-cards | grep -B 1 bluez | head -1 | awk ' { print $2 } ' )
#SINK=$( pacmd list-cards | grep bluez )
MAC=$( pacmd list-cards | grep bluez | head -1 | awk -F . ' { print substr($2,0,length($2)) }' )
3
ответ дан 25 July 2018 в 18:13

Я думаю, что нашел ошибку с этим решением. В моем случае только 1 был установлен в качестве индекса, поэтому я получил эту ошибку >>> Карта с таким именем или индексом не найдена.

$ pacmd list-cards | grep -B 1 bluez
    index: 10
    name: <bluez_card.00_0D_44_A6_7D_85>
--
        device.string = "00:0D:44:A6:7D:85"
        device.api = "bluez"
--
        device.form_factor = "headset"
        bluez.path = "/org/bluez/1085/hci0/dev_00_0D_44_A6_7D_85"
        bluez.class = "0x240404"
        bluez.name = "Logitech Wireless Headset"
--
    sinks:
        bluez_sink.00_0D_44_A6_7D_85/#11: Logitech Wireless Headset
    sources:
        bluez_sink.00_0D_44_A6_7D_85.monitor/#22: Monitor of Logitech Wireless Headset

Я изменил ваш скрипт, и теперь он работает хорошо. (Возможно, это не лучшее решение)

Это то, что я изменил

#SINK=$( pacmd list-cards | grep -B 1 bluez | head -1 )
INDEX=$( pacmd list-cards | grep -B 1 bluez | head -1 | awk ' { print $2 } ' )
#SINK=$( pacmd list-cards | grep bluez )
MAC=$( pacmd list-cards | grep bluez | head -1 | awk -F . ' { print substr($2,0,length($2)) }' )
3
ответ дан 31 July 2018 в 13:25

Я думаю, что нашел ошибку с этим решением. В моем случае только 1 был установлен в качестве индекса, поэтому я получил эту ошибку >>> Карта с таким именем или индексом не найдена.

$ pacmd list-cards | grep -B 1 bluez
    index: 10
    name: <bluez_card.00_0D_44_A6_7D_85>
--
        device.string = "00:0D:44:A6:7D:85"
        device.api = "bluez"
--
        device.form_factor = "headset"
        bluez.path = "/org/bluez/1085/hci0/dev_00_0D_44_A6_7D_85"
        bluez.class = "0x240404"
        bluez.name = "Logitech Wireless Headset"
--
    sinks:
        bluez_sink.00_0D_44_A6_7D_85/#11: Logitech Wireless Headset
    sources:
        bluez_sink.00_0D_44_A6_7D_85.monitor/#22: Monitor of Logitech Wireless Headset

Я изменил ваш скрипт, и теперь он работает хорошо. (Возможно, это не лучшее решение)

Это то, что я изменил

#SINK=$( pacmd list-cards | grep -B 1 bluez | head -1 )
INDEX=$( pacmd list-cards | grep -B 1 bluez | head -1 | awk ' { print $2 } ' )
#SINK=$( pacmd list-cards | grep bluez )
MAC=$( pacmd list-cards | grep bluez | head -1 | awk -F . ' { print substr($2,0,length($2)) }' )
3
ответ дан 2 August 2018 в 00:27

Я думаю, что нашел ошибку с этим решением. В моем случае только 1 был установлен в качестве индекса, поэтому я получил эту ошибку >>> Карта с таким именем или индексом не найдена.

$ pacmd list-cards | grep -B 1 bluez
    index: 10
    name: <bluez_card.00_0D_44_A6_7D_85>
--
        device.string = "00:0D:44:A6:7D:85"
        device.api = "bluez"
--
        device.form_factor = "headset"
        bluez.path = "/org/bluez/1085/hci0/dev_00_0D_44_A6_7D_85"
        bluez.class = "0x240404"
        bluez.name = "Logitech Wireless Headset"
--
    sinks:
        bluez_sink.00_0D_44_A6_7D_85/#11: Logitech Wireless Headset
    sources:
        bluez_sink.00_0D_44_A6_7D_85.monitor/#22: Monitor of Logitech Wireless Headset

Я изменил ваш скрипт, и теперь он работает хорошо. (Возможно, это не лучшее решение)

Это то, что я изменил

#SINK=$( pacmd list-cards | grep -B 1 bluez | head -1 )
INDEX=$( pacmd list-cards | grep -B 1 bluez | head -1 | awk ' { print $2 } ' )
#SINK=$( pacmd list-cards | grep bluez )
MAC=$( pacmd list-cards | grep bluez | head -1 | awk -F . ' { print substr($2,0,length($2)) }' )
3
ответ дан 4 August 2018 в 15:55

Я думаю, что нашел ошибку с этим решением. В моем случае только 1 был установлен в качестве индекса, поэтому я получил эту ошибку >>> Карта с таким именем или индексом не найдена.

$ pacmd list-cards | grep -B 1 bluez
    index: 10
    name: <bluez_card.00_0D_44_A6_7D_85>
--
        device.string = "00:0D:44:A6:7D:85"
        device.api = "bluez"
--
        device.form_factor = "headset"
        bluez.path = "/org/bluez/1085/hci0/dev_00_0D_44_A6_7D_85"
        bluez.class = "0x240404"
        bluez.name = "Logitech Wireless Headset"
--
    sinks:
        bluez_sink.00_0D_44_A6_7D_85/#11: Logitech Wireless Headset
    sources:
        bluez_sink.00_0D_44_A6_7D_85.monitor/#22: Monitor of Logitech Wireless Headset

Я изменил ваш скрипт, и теперь он работает хорошо. (Возможно, это не лучшее решение)

Это то, что я изменил

#SINK=$( pacmd list-cards | grep -B 1 bluez | head -1 )
INDEX=$( pacmd list-cards | grep -B 1 bluez | head -1 | awk ' { print $2 } ' )
#SINK=$( pacmd list-cards | grep bluez )
MAC=$( pacmd list-cards | grep bluez | head -1 | awk -F . ' { print substr($2,0,length($2)) }' )
3
ответ дан 6 August 2018 в 00:34

Я думаю, что нашел ошибку с этим решением. В моем случае только 1 был установлен в качестве индекса, поэтому я получил эту ошибку >>> Карта с таким именем или индексом не найдена.

$ pacmd list-cards | grep -B 1 bluez
    index: 10
    name: <bluez_card.00_0D_44_A6_7D_85>
--
        device.string = "00:0D:44:A6:7D:85"
        device.api = "bluez"
--
        device.form_factor = "headset"
        bluez.path = "/org/bluez/1085/hci0/dev_00_0D_44_A6_7D_85"
        bluez.class = "0x240404"
        bluez.name = "Logitech Wireless Headset"
--
    sinks:
        bluez_sink.00_0D_44_A6_7D_85/#11: Logitech Wireless Headset
    sources:
        bluez_sink.00_0D_44_A6_7D_85.monitor/#22: Monitor of Logitech Wireless Headset

Я изменил ваш скрипт, и теперь он работает хорошо. (Возможно, это не лучшее решение)

Это то, что я изменил

#SINK=$( pacmd list-cards | grep -B 1 bluez | head -1 )
INDEX=$( pacmd list-cards | grep -B 1 bluez | head -1 | awk ' { print $2 } ' )
#SINK=$( pacmd list-cards | grep bluez )
MAC=$( pacmd list-cards | grep bluez | head -1 | awk -F . ' { print substr($2,0,length($2)) }' )
3
ответ дан 7 August 2018 в 17:59

Я думаю, что нашел ошибку с этим решением. В моем случае только 1 был установлен в качестве индекса, поэтому я получил эту ошибку >>> Карта с таким именем или индексом не найдена.

$ pacmd list-cards | grep -B 1 bluez
    index: 10
    name: <bluez_card.00_0D_44_A6_7D_85>
--
        device.string = "00:0D:44:A6:7D:85"
        device.api = "bluez"
--
        device.form_factor = "headset"
        bluez.path = "/org/bluez/1085/hci0/dev_00_0D_44_A6_7D_85"
        bluez.class = "0x240404"
        bluez.name = "Logitech Wireless Headset"
--
    sinks:
        bluez_sink.00_0D_44_A6_7D_85/#11: Logitech Wireless Headset
    sources:
        bluez_sink.00_0D_44_A6_7D_85.monitor/#22: Monitor of Logitech Wireless Headset

Я изменил ваш скрипт, и теперь он работает хорошо. (Возможно, это не лучшее решение)

Это то, что я изменил

#SINK=$( pacmd list-cards | grep -B 1 bluez | head -1 )
INDEX=$( pacmd list-cards | grep -B 1 bluez | head -1 | awk ' { print $2 } ' )
#SINK=$( pacmd list-cards | grep bluez )
MAC=$( pacmd list-cards | grep bluez | head -1 | awk -F . ' { print substr($2,0,length($2)) }' )
3
ответ дан 10 August 2018 в 06:48

Я думаю, что нашел ошибку с этим решением. В моем случае только 1 был установлен в качестве индекса, поэтому я получил эту ошибку >>> Карта с таким именем или индексом не найдена.

$ pacmd list-cards | grep -B 1 bluez
    index: 10
    name: <bluez_card.00_0D_44_A6_7D_85>
--
        device.string = "00:0D:44:A6:7D:85"
        device.api = "bluez"
--
        device.form_factor = "headset"
        bluez.path = "/org/bluez/1085/hci0/dev_00_0D_44_A6_7D_85"
        bluez.class = "0x240404"
        bluez.name = "Logitech Wireless Headset"
--
    sinks:
        bluez_sink.00_0D_44_A6_7D_85/#11: Logitech Wireless Headset
    sources:
        bluez_sink.00_0D_44_A6_7D_85.monitor/#22: Monitor of Logitech Wireless Headset

Я изменил ваш скрипт, и теперь он работает хорошо. (Возможно, это не лучшее решение)

Это то, что я изменил

#SINK=$( pacmd list-cards | grep -B 1 bluez | head -1 )
INDEX=$( pacmd list-cards | grep -B 1 bluez | head -1 | awk ' { print $2 } ' )
#SINK=$( pacmd list-cards | grep bluez )
MAC=$( pacmd list-cards | grep bluez | head -1 | awk -F . ' { print substr($2,0,length($2)) }' )
3
ответ дан 15 August 2018 в 18:43

Другие вопросы по тегам:

Похожие вопросы: