libao에 단 1가지 점만 빼고 만족하게 사용하고 있습니다.
그 1가지 맘에 안 드는 점이란, 음악 재생중에 멈출수가 없다는 것입니다. 다시 말해, 음악 재생이 끝날 때까지 음악을 멈출 수 있는 방법이 제공되지 않는 다는 겁니다.
아시다시피.. libao는 다음의 절차대로 프로그램이 구성되는데요..
ao_initialize();
ao_default_driver_id();
ao_open_live();
ao_play();
ao_close();
ao_shutdown();
여기서 ao_play() 함수를 호출함으로써 음악이 재생되는데, 이 함수가 음악 재생이 끝날때 까지 block 되어 리턴되지 않는다는 것입니다.
libao API 에서도 ao_stop() 과 같은 인터페이스를 제공하지 않는 것으로 보아, 이런 기능 자체가 구현되지 않은 것으로 보이네요.