2014-09-17 11 views
1

Windows Phone 8 용 WasApi를 사용하여 음성 녹음 응용 프로그램을 개발했습니다. 그러나 사용자는 배터리 문제가 많으며 녹음 중에는 화면이 시간 초과되지 않습니다. 그리고 배경 녹화가 잠길 때 잠금 버튼을 누르면 일시 중지됩니다. 아무도이 문제를 해결하는 방법을 알려 줄 수 있습니까?Windows Phone 8에서 음성 녹음 응용 프로그램의 배터리 효율을 높이는 방법은 무엇입니까?

+1

화면에 아무 것도 표시하지 마십시오. '절전'을 사용할 수있는 경우 'while (true)'루프를 사용하지 마십시오. – Peter

+1

아, 멋진 애니메이션으로 항상 화면을 새로 고치지 마십시오. 작은 빨간 점이 있고 검은 색 바탕에 빨간색으로 "녹음 중"이라는 단어가 있으면 충분합니다. 매초마다 업데이트되는 기록의 현재 길이 일 수도 있습니다 (밀리 초를 표시하지 않음). 화면이 가장 큰 힘입니다. 프로세서가 두 번째로 큰 경우입니다. – Peter

+0

화면의 밝기를 프로그래밍 방식으로 줄일 수 있습니까? @Peter – Krrish

답변

0

녹음 중에는 화면을 끄거나 응용 프로그램이 백그라운드에서 녹음하는 방법을 모르겠다. 그것이 가능하지 않다는 것을 의미하는 것은 아니며, 나는 어떻게 그런지 모릅니다. 지금은 가능하지 않을 수도 있지만, 미래에는 가능해질 것입니다. 다른 대답은 이것을하는 방법을 설명 할 수 있습니다.

  • 블랙 디스플레이 : 응용 프로그램이 포 그라운드에서 실행되고 화면이 켜져있는 동안

    그래서 배터리 소모를 줄일 수있는 방법을 나열 할 수 있습니다. 밝은 이미지는 어두운 이미지보다 훨씬 강력합니다. 디스플레이 기술에 따라 검은 색 픽셀은 어두운 픽셀보다 훨씬 적은 전력을 필요로합니다. 항상 켜져있을 수있는 Lumia Glance 기능을 살펴보고 배터리를 방전하는 데 며칠이 걸립니다.

  • 애니메이션이 없습니다. 디스플레이 기술에 따라 화면을 다시 그릴 때 더 많은 전력이 필요할 수 있습니다. 어떤 경우에도 화면에 그려지는 애니메이션을 계산하면 CPU가 잠자기하는 것을 방지 할 수 있습니다. 매 15 밀리 초가 아닌 매 초만 업데이트되는 애니메이션을 사용하면 이미 큰 개선이 이루어져야합니다.

  • 대기 루프/통화 대기 없음. 배치에

while (true) { if (arewethereyet()) break; }

  • 클러스터 작업 : CPU는이 패턴을 사용하지 않는 무언가를 기다릴 필요가있는 경우. CPU는 잠을 잘 수 있어야하고 이상적으로는 오랜 시간 동안 잠을 잘 수 있어야합니다. 마이크에 긴 버퍼 지속 시간을 사용하고 버퍼를 너무 적극적으로 가져 오지 마십시오.
+0

유휴 감지 모드가 활성화되거나 화면이 시간 초과되면 녹음을 계속할 수 없습니다. – Krrish

+0

예. 그러나 응용 프로그램이 포 그라운드에있는 동안 유휴 상태 탐지를 비활성화 할 수 있습니다. – Peter

+0

하지만 이벤트는 다음과 같습니다. public Event EventHandler 비활성화 상태로 가기 전에 불렀던 가려진 상태입니다. 그런 사건들을 어떻게 처리 할 수 ​​있습니까? – Krrish