홈>
프로그래밍에있어 초보자이며, C ++로 개인 프로젝트를 수행하여 기술을 개발하고 싶었습니다. 내가 생각한 프로젝트는 랩톱에서 오디오를 재생하고 (Windows 10을 실행), 분석하고, 재생중인 오디오와 동기화하여 LED 조명의 색상과 밝기를 변경하는 arduino로 데이터를 보내는 것입니다. 예를 들어 Spotify에서 노래를 재생하거나 Youtube 등에서 뮤직 비디오를 재생하면 프로그램이 해당 오디오 스트림에서 데이터를 입력으로 가져옵니다. 다른 곳에서는 프로그램이 녹음 된 WAV 파일의 오디오 또는 마이크의 스트림을 입력으로 사용하지만 내가 생각한 것은 아닙니다. 이 프로그램을 파티에 사용하고 싶으므로 해결 방법으로 마이크를 사용하는 것이 이상적이지 않습니다.
이것도 가능합니까? 그렇다면 어떻게이 문제에 접근해야합니까? 살펴 봐야 할 특정 API가 있습니까? 프로그램이 오디오를 입력으로 받으면 블루투스 스피커와 같은 음악을 계속 재생할 수 있습니까? 아니면 한 번에 한 곳에만 데이터를 보낼 수 있습니까?
나보다 프로그래밍에 능숙한 룸메이트는 Swift를 사용하여 Mac에서이 작업을 수행했으며 Mac이없는 경우 Linux를 사용하면이 작업이 더 쉬워 집니까?
- 답변 # 1
관련 자료
- javascript - 다중 오디오 html - 현재 재생 중 기타 자동 중지
- javascript - css 또는 js로 오디오 파일을 재생할 때 표시 할 파형을 만드는 방법
- c++ - 프로그램은 정보를 입력 할 수있는 부분에 도달하지 않습니다
- python - 사용자가 입력을 계속 할 때까지 프로그램을 실행하는 방법은 무엇입니까?
- 사용자의 잘못된 입력으로 인해 파이썬 프로그램을 다시 시작하는 방법
- c - 입력 한 후 프로그램이 작동하지 않는 이유는 무엇입니까?
- Java 프로그램에서 사용자 입력을 기반으로 루프를 계속하는 방법
- python - 내 프로그램이 실행될 때 입력 후 출력이 중지되는 이유, 즉 내 코드가 완전히 실행되지 않는 이유
- reactjs - 여러 아약스 요청에서 오디오가 겹치는 재생
- java - 프로그램이 실행되지만 두 번째 루프는 입력에 관계없이 종료됩니다
- 오디오가 현재 Android 폰 스피커에서 재생되고 있는지 감지하는 방법은 무엇입니까?
- python - 사용자 입력이 $XXXX 형식인지 확인하는 방법은 무엇입니까? $XX 형식 일 수도 있지만 프로그램은이를 소수점 이하 2 자리 부동으로 변환합니다
- c# - 데이터베이스없이 프로그램에서 입력 데이터 저장
- unity3d - 유니티 56 - audioplayer 오디오를 재생하지 않는 videoplayer
- python - 사용자 입력에 따라 프로그램을 다시 시작하려면 어떻게합니까?
- unix - C의 신호를 사용하여 입력이 -1 인 경우 B 프로그램 프로세스에서 프로세스를 종료하는 방법
- python - 전체 프로그램을 다시 시작하는 대신 하나의 입력을 어떻게 반복합니까?
- chatbot - 사용자 입력 톤을 감지하는 Python 프로그램
- python - 사용자에게 삼각형의 높이를 묻는 프로그램을 만들어야합니다
- Java 계산기 프로그램에 사용자 입력 유효성 검사를 받으려면 어떻게해야합니까?
관련 질문
- c++ : VSCODE에서 CPP 응용 프로그램의 GTK +를 실행하는 방법은 무엇입니까?
- c++ : int 이후 별표 (*)가 사용되는 이유는 무엇입니까? ptr= (int *) malloc (100 * sizeof (int)) ;? 왜? int 여야하지 않습니까?
- c++ : 바이너리 읽기 및 쓰기 예외 던지기
- c++ : 반환 값이 추상 클래스 인 경우 모의법
- c++ System () 함수가 모든 Windows 프로그램을 실행하지 않음
- c++ : i2d_x509_req_info는 REQ_INFO 구조를 제대로 변환하지 않습니다
- c++ 프로그램은 사용자로부터 입력 된 6 자리 정수를 읽고 링크를 위해 각각의 숫자를 루프로 출력합니다.
- 오버로드 된= 연산자 (c++)로 원하는대로 클래스 변수가 제대로 작동하지 않습니다.
- c++ : 키릴 문자를 CString에 할당하십시오
- c++ : 순방향 반복기가 다중 패스 알고리즘으로 사용되는 방법
현대 창에는 "Stereo Mix"녹음 장치가 있습니다. 활성화 방법은 다음과 같습니다. https://technicalustad.com/enable-stereo-mix-in-windows-10/
설정 후 C ++ 프로그램에서 원하는 녹음 API를 사용하십시오.
다음은 요청한 작업을 수행하고, 녹음 장치를 열고, 녹음을 시작하고, 인수로 제공된 클래스에 오디오 샘플을 보내는 샘플입니다. https://docs.microsoft.com/en-us/windows/win32/coreaudio/capturing-a-stream 아마도 응용 프로그램의 대기 시간으로 CPU 시간을 교환하려고합니다. ,
hnsActualDuration/REFTIMES_PER_MILLISEC/2
로 변경 또는Sleep( 0 )
Sleep( 1 )