사운드 카운터 안드로이드 앱

개요

가끔 일정한 소리가 몇번이나 반복되었는지 세어야 할 경우가 있었습니다. 문득 특정한 소리의 개수를 세어주는 앱이 있으면 좋겠다는 생각이 들어 만들게 되었습니다. 이름은 사운드 카운터로 정했고 소리가 나면 +1 을 해서 그 숫자가 나타납니다.

구상

측정하려는 소리의 크기가 다양해서 숫자를 더하는 소리의 크기를 조절할 수 있도록 해야할 것 같았습니다. 그리고 그 설정값을 보여주고 실제 소리가 났다는 것을 보여주는 부분이 필요할 것 같았습니다. 마지막으로 세어진 소리의 개수를 보여주는 부분이 있어야 할 것 같았습니다.

개발

작업을 진행하다 보니 잠깐 멈출 수 있는 기능이 있어야 할 것 같았습니다. 구상한 것을 다음 화면과 같이 작업 했습니다.

사운드 카운터 초기 화면

소리 입력은 마이크로 받았고 별도로 저장되지 않도록 작업했습니다. 문제가 없다고 생각했는데 특정버전 이상에서 테스트 해보니 녹음을 시작하는 부분에서 오류가 발생했습니다. 출력 방향을 /dev/null 로 지정했는데 Android Q 이상에서는 오류가 발생했습니다. OS 버전을 판단해서 동작하도록 수정했습니다.

입력된 소리를 시각적으로 표현하는 부분은 세기에 따라 위쪽으로 Peak가 올라가는 형태로 구현했습니다.

소리 시각화

박수 소리로 테스트 해 보았는데 문제없이 동작했습니다. 좀더 크거나 작은 소리는 감도를 조절해서 개수를 셀 수 있도록 사용하면 될 것 같습니다.

다음 주소에서 확인하실 수 있습니다(광고포함).

https://play.google.com/store/apps/details?id=jaeyoung.kim.soundcounter

C# 윈폼 프로그램 정보 입력 및 제목 표시(WinForm program information and display title)

개요

윈도우 기반으로 작성된 프로그램을 선택하고 마우스 오른쪽 버튼을 클릭하고 속성을 선택하면 자세한 정보를 볼 수 있습니다. 자세히 탭을 선택하면 다음과 같은 정보를 확인할 수 있습니다. 이 정보를 입력하는 방법과 이것을 이용해서 윈폼 프로그램의 이름과 버전 정보를 표시하는 방법을 알아보도록 하겠습니다.

실행파일의 자세히 탭
실행파일의 자세히 탭

어셈블리 정보 설정

비주얼 스튜디오로 윈폼 프로젝트를 열고 프로젝트 > [프로젝트명] 속성을 클릭합니다. 그러면 다음과 같은 화면이 나타납니다.

프로젝트 속성 화면
프로젝트 속성 화면

어셈블리 정보를 클릭하면 다음과 같은 화면이 나타나고 적절한 내용을 입력하면 됩니다.

어셈블리 정보 대화상자
어셈블리 정보 대화상자

빌드 후 파일정보를 확인해 보면 변경된 것을 알 수 있습니다.

변경된 속성 정보
변경된 속성 정보

코드내에서 활용

이 정보를 바탕으로 폼의 제목 표시줄에 제품 이름과 버전이 나타나도록 다음과 같이 코드를 작성합니다. 필요한 부분에 추가하시면 됩니다.

private void Form1_Load(object sender, EventArgs e)
{
    this.Text = Application.ProductName + " Ver " + Application.ProductVersion;
}

프로그램을 실행 해 보면 제목 표시줄이 입력한 정보로 나타나는 것을 확인할 수 있습니다.

입력된 어셈블리 정보에 따라 나타나는 제품명과 버전

프로그램을 변경하면서 버전 번호를 변경해 주면 쉽게 버전을 확인할 수 있습니다.