====== 오디오 기능 ======
jPC에는 내장 모노 스피커와 외부 스피커 연결을 위한 3.5mm 스테레오 오디오 잭이 탑재되어 있습니다.
===== 볼륨 조절 =====
오디오 볼륨은 [[https://manpages.debian.org/stable/alsa-utils/alsamixer.1.en.html|alsamixer]] 유틸리티를 사용하여 조절할 수 있습니다.
''alsamixer''에서 외부 스피커 출력은 **Headphone**, 내장 스피커 출력은 **Line Out**으로 표시됩니다.
{{ https://downloads.comfiletech.com/jPC/videos/jpc-alsamixer.mp4?908x572 }}
===== 터미널에서 오디오 재생하기 =====
좌우 채널을 각각 테스트하려면 다음 명령을 실행합니다.
* 왼쪽 채널:
ffplay -autoexit /usr/share/sounds/alsa/Front_Left.wav -af "pan=stereo|c0=0*c0|c1=c0"
* 오른쪽 채널:
ffplay -autoexit /usr/share/sounds/alsa/Front_Right.wav -af "pan=stereo|c0=c0|c1=0*c0"
===== .NET 프로그램에서 오디오 재생하기 =====
.NET 프로그램에서 오디오를 재생하려면 [[https://www.nuget.org/packages/Alsa.Net|Alsa.NET]] 라이브러리를 사용할 수 있습니다.
#:package Alsa.Net@1.0.10
using System;
using Alsa.Net;
using System.Reflection;
using System.Runtime.InteropServices;
class Program
{
// Alsa.NET이 사용하는 라이브러리 이름을
// jPC에 설치된 실제 ALSA 라이브러리 파일에 연결합니다.
static IntPtr DllImportResolver(string libraryName, Assembly assembly, DllImportSearchPath? searchPath)
{
if (libraryName == "libasound")
{
return NativeLibrary.Load("/usr/lib/aarch64-linux-gnu/libasound.so.2");
}
```
return IntPtr.Zero;
}
static void Main(string[] args)
{
NativeLibrary.SetDllImportResolver(typeof(SoundDeviceSettings).Assembly, DllImportResolver);
var soundDeviceSettings = new SoundDeviceSettings();
using var alsaDevice = AlsaDeviceBuilder.Create(soundDeviceSettings);
alsaDevice.Play("/usr/share/sounds/alsa/Front_Center.wav");
}
```
}
[[..:index|JPC (임베디드 리눅스 Panel PC)]]