원격 오디오 수신기로 안드로이드 2.1 전화를 사용하는 방법?


21

사용하지 않는 HTC Hero Android 전화 (Android OS 2.1 실행)를 가지고 있으며 오디오 앰프에 연결하고 몇 개월 동안 연결 상태를 유지하기 위해이 Android 전화를 원격 펄스 오디오 서버 / 수신기 등으로 사용할 수 있습니다.

Android 마켓에는 / dev / dsp에서 스트림을 가져올 수있는 "원격 오디오"응용 프로그램이 있습니다. 는 / dev / DSP를 사용할 수있다 / 어떤 이유에서 10.10 우분투에서 나는 당을 활성화 후에도 실수로 이 스레드 - 다음 후 다음 지침에 정말 아무것도 - 그것은 도움이되지 않았다을, 그래서 난 내 안드로이드에서 재생 / 일시 정지 버튼을 클릭하면 mpg123 song.mp3는 여전히 내 랩탑 스피커를 사용합니다. 마지막 | head도 새로운 사용자 로그인을 표시하지 않습니다 (여기에 표시되어야한다고 생각하십니까?)

"pulseaudio"로 검색 Android 시장 에서 Airbubble 을 찾았 지만 "MacOS X의 RaopX 및 Linux의 pulseaudio 용 raop 모듈에서는 작동하지 않습니다"라고 말합니다. (기음)

따라서 안드로이드 폰을 원격 오디오 수신기로 사용하는 방법이 있습니까? 이상적으로 mp3 / 음악 재생에 국한되지 않고 일반적으로 사운드 하위 시스템입니까?

확실히 나는 올바른 스피커에서 그것을 듣기 위해 Wi-Fi를 통해 안드로이드 폰으로 오디오를 방송하고 싶은 유일한 사람이 아닌가?

답변:


13

나는 당신이 생각하지 않은 일을하기 위해 노력하고 있다고 생각합니다 (PulseAudio 또는 더 낮은 수준의 무언가에 연결). 컴퓨터가 열심히 일하도록하십시오.

Icecast ( tutorial here )와 함께 사용하여 스트리밍 할 수있는 Android 용 30-odd 앱 중 하나를 사용하는 것이 좋습니다.


고마워하지만 Android 마켓에는 내 문제를 해결해야 할 응용 프로그램이 2 개 이상 있습니다. "원격 오디오"및 "AirBubble"(Apple AirportExpress와 호환 가능).
user35834

@ user35834 : Ubuntu쪽에 Icecast 서버를 설정 한 후에는 수신자 쪽에서 독립적입니다. "인터넷 라디오"에 맞출 수있는 모든 것 (!)도 자신의 스트림을 수신 할 수 있습니다. Icecast와 RAOP의 장점은 여러 가지가 있습니다.
Takkat

19

이틀 전에 나는이 질문에 걸려 넘어 질 수 없었다. 결국 AirBubble 설명서에서 RAOP가 지원되지 않음을 읽었습니다.

마지막으로 pulseaudio의 DLNA / UPnP 기능으로 문제를 해결했습니다. 예상대로 작동합니다. 상자에 펄스 오디오 출력이있는 모든 앱에서 사운드를 재생하고 Android 기기로 리디렉션 할 때마다 스트리밍 출력을 선택합니다.

먼저 Rygel을 설치하십시오.

$ sudo apt-get install rygel rygel-preferences rygel-gst-launch

그런 다음 /etc/rygel.conf 파일을 변경하여 enable-transcoding 매개 변수가있는 행이 다음과 같이되도록합니다.

enable-transcoding=false

그런 다음 DLNA 및 TCP 모듈을로드하고 rygel을 시작하십시오.

$ pactl load-module module-http-protocol-tcp
$ pactl load-module module-rygel-media-server 
$ pactl load-module module-null-sink sink_name=upnp format=s16be channels=2 rate=44100 sink_properties="device.description='DLNA/UPnP Streaming' device.bus='network' device.icon_name='network-server'"
$ rygel

Android 기기에서 BubbleUPnP 앱을 다운로드하십시오. 펄스 오디오 출력 장치는 "Sound on % HOSTNAME %"서버에 표시됩니다. 사운드 환경 설정에서 컴퓨터의 출력을 DLNA 장치로 보내십시오. BubbleUPnP에서 동일한 출력을 선택하십시오.

BubbleUPnP는 처음 30 분 동안 무료로 스트리밍합니다. 정식 버전은 3,49 €이지만 가격이 가치가 있다고 생각합니다. 다른 앱을 얻지 못했습니다.

마지막으로 rygel-preferences를 사용하여 미디어 브라우저가 마음에 들지 않으면 미디어 브라우저를 비활성화 할 수 있습니다.

$ rygel-preferences

한 번 더 헤드 업 : 이것은 원시 LPCM 데이터를 직접 스트리밍하여 지속적으로 ~ 250 kB / s입니다. 802.11 n 네트워크 이외의 다른 장치를 사용하는 경우 가짜 WLAN 활동으로 인해 끊김 현상이 발생할 수 있습니다. 엔터테인먼트 솔루션을 무선 스트리밍을 기반으로 할 계획이라면 무선 n 라우터를 구입하십시오.

후속 조치 : 거래

네트워크 오버 헤드 및 끊김 현상을 줄이려면 (802.11 n 네트워크에 있지 않은 경우 발생) 오디오 스트림을 mp3로 트랜스 코딩 할 수 있습니다.

이것을 ~ / .config / rygel.conf에 붙여 넣기

[GstLaunch]
enabled=true
launch-items=mypulseaudiosink
mypulseaudiosink-title=Sound on @HOSTNAME@
mypulseaudiosink-mime=audio/mpeg
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! lamemp3enc target=quality quality=6

rygel을 시작할 때 나타나는 "Gst Launch"DLNA 서비스를 사용하십시오.

다음 2 단계 : FLAC

LAME는 최대 2 분 (!)까지 지연 될 수 있습니다. 반면 FLAC는 매우 빠르며 일반적으로 1 초 미만의 클럭을 유지합니다. 위 예제에서 행을 다음과 같이 변경하십시오.

mypulseaudiosink-mime=audio/flac
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc quality=8

이를 통해 스트림이 약 100kB / s로 줄어들어 여러 사용자가있는 대부분의 802.11g 네트워크에서 원활하게 재생할 수 있습니다. 토런트를 다운로드하는 동안 테스트했습니다. 최고 속도에서 약간의 끊김 현상이 있었지만 다운로드 속도를 최대 대역폭보다 약 200kB / s로 제한했을 때 다시 매끄럽게 진행되었습니다.

또한 품질 손실을 없 have습니다.


위의 몇 가지 문제- 기본적으로로드되지 않은 경우 ~/.config/rygel.conf대신 확인하고 편집하십시오 /etc/.config/rygel.conf(?).

이후 Ubuntu 버전에서는 싱크 생성이 작동하지 않습니다.

그러나 나를 위해 일한 것은 모든 지시 사항을 따르는 것입니다 (싱크 생성). 그런 다음을 실행 paprefs하고 "네트워크 서버"탭에서 하단 옵션 "로컬 사운드 장치를 uPnP 서버로 사용 가능"(및 하위 옵션도 필요할 수 있음)을 선택하십시오.

rygel을 시작하고 PulseAudio 설정에서 새로운 "DLNA / UPnP 스트리밍"옵션을 선택하십시오.

BubbleUPnP에서 "Gst Launch"를 라이브러리로 선택하십시오. 앱에서 라이브러리를 선택하면 상단에 "Sound on"이라는 옵션이 있습니다.


3
리겔의 사용에 관한 포스터의 경우 :이 접근법은 건전 해 보이지만 11.10 버전에서는 모듈 널 싱크가 그러한 주장을 취하지 않습니다. 다른 모듈을 의미해야하지만 아직 찾을 수 없습니다. 좋은 생각, 수정하여 도와주세요.

을 실행 한 후이 pactl load-module module-null-sink sink_name=upnp......오류가 발생 Failure: Module initalization failed합니다. 어떤 생각?
Khurshid Alam

@ KurshidAlam : 내 접근법을 시도해보십시오. 텍스트 편집이 없으며 작동중인 Wine에만 의존합니다.
야누스 트롤 슨

@JanusTroelsen : 귀하의 접근 방식은 효과가 있지만 다른 방법을 먼저 시도해야한다고 강조합니다. 와인은 훌륭한 프로젝트이지만 최후의 수단으로 만 사용해야합니다. 신뢰할 수 없습니다.
Toasty

1

Shairplay는 TCP를 지원하지 않으며 raop_play (pulseaudio-module-raop은이 기반이라고 생각합니다)는 UDP를 지원하지 않습니다. raop이 TCP 전용 인 이유가 이상한 이유는 UDP가 더 쉽고 적합한 프로토콜 인 것 같습니다.

그리고 소스가 flac라면 MP3를 통한 icecast는 품질을 떨어 뜨릴 것이며 CPU 호그에 가깝습니다. MPD는 기본적으로 펄스 오디오 출력을 지원하므로 mpdroid 앱이있는 Android 전화를 사용하여 집안의 다른 방을 "켜거나 끌 수 있습니다". 에어 플레이 독을 엔드 포인트로 사용할 수 있다면 환상적인 설정이 될 것입니다. 그러나 raop은 더 간단한 UDP 끝점을 지원하지 않습니다!


1

Pulseaudio 커뮤니티 외부를보고 싶을 수도 있습니다.

Subsonic 에서이 작업을 시도하고 있습니다. 지금까지 잘 작동했습니다. Ubuntu 시스템, 거실 Roku, 기본 Android 전화 및 Wi-Fi 전용 보조 Android 전화에 설치했습니다. 이 모든 장치는 Wi-Fi를 통해 연결됩니다. 아내가 iTunes 모음을 다른 장비로 스트리밍 할 수 있도록 Windows 컴퓨터에도 설치하려고합니다.

이제 우분투 시스템의 오디오 및 비디오를 거실의 내 Roku 또는 주방에 가져 가거나 세탁물을 접을 때 사용할 수있는 Android로 스트리밍 할 수 있습니다. 웹 브라우저가있는 모든 컴퓨터에서 스트리밍 할 수도 있습니다. 길고 지루한 주택 관리 프로젝트를 진행하면서 음악과 팟 캐스트를 스트리밍합니다.

지금까지는 잘 작동했습니다.


0

서버에서 Foobar2000을 사용 하고 클라이언트에서 BubbleUPnP (payware)를 사용할 수 있습니다 .

  1. 와인을 얻다
  2. 도망 foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. 다음, 다음, 다음 ... :)
  5. foo_upnp를 얻으 십시오
  6. 구성 요소의 추출물 (아마에있는 foobar2000을의 폴더 ~/.wine/drive_c/Program Files/)
  7. foobar2000을 시작하십시오
  8. 라이브러리 → 구성 → 재생 → 출력 → 장치로 이동하여 "널 출력"을 선택하십시오
  9. 메이크업은 반드시 ufw관련 트래픽을 차단하지
  10. BubbleUPnP에서 :
    1. 장치 → 라이브러리로 이동하여 foobar2000 서버를 선택하십시오
    2. "라이브러리"에서 "재생 스트림 캡처"를 선택하십시오.

이 방법은 Android에서 일시 중지하면 서버가 여전히 전송 중이므로 버퍼를 누적한다는 이점이 있습니다.

우분투 (와인 버전 1.5.28-0ubuntu1~ppa1, foobar2000 버전 1.2.5 및 foo_upnp 버전 0.99.46) 및 Windows 에서 테스트되었습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.