내보내기(0) 인쇄
모두 확장

방법: Windows Phone의 벨소리 저장 작업 사용

2012-02-09

벨소리 저장 작업을 사용하여 사용자가 오디오 파일을 시스템 벨소리 목록에 저장하도록 할 수 있습니다. 이 작업은 사용자가 벨소리를 저장하고 선택적으로 기본 벨소리로 설정할 수 있는 벨소리 응용프로그램을 시작합니다. 오디오 파일이 목록에 추가되면 사용자가 연락처 응용프로그램에서 개별 연락처의 벨소리로 설정할 수 있습니다.

선택기를 사용하면 Windows Phone 플랫폼 전체에서 일관된 사용자 환경을 제공하는 데 도움이 됩니다. 자세한 내용은 Windows Phone의 실행기 및 선택기 개요를 참조하십시오.

벨소리 오디오 파일은 다음 요구 사항을 충족해야 합니다.

  • 파일이 MP3 또는 WMA 형식이어야 합니다.

  • 파일의 크기가 1MB 미만이어야 합니다.

  • 파일의 길이가 40초 미만이어야 합니다.

  • 파일에 DRM(디지털 권한 관리) 보호가 없어야 합니다.

벨소리 저장 작업을 사용하려면

  1. 다음 문을 코드에 추가합니다.

    using Microsoft.Phone.Tasks;
    
  2. 작업 개체를 선언합니다. 페이지 범위가 있어야 하므로 생성자 앞의 페이지에서 선언합니다.

    SaveRingtoneTask saveRingtoneChooser;
    
  3. 다음 코드를 페이지 생성자에 추가합니다. 이 코드는 작업 개체를 초기화하고 사용자가 작업을 완료한 후 실행할 메서드를 식별합니다.

    saveRingtoneChooser = new SaveRingtoneTask();
    saveRingtoneChooser.Completed += new EventHandler<TaskEventArgs>(saveRingtoneChooser_Completed);
    
  4. 버튼 클릭 이벤트 등 코드가 필요한 위치마다 다음 코드를 응용프로그램에 추가합니다. 이 절차를 테스트하려면 페이지 생성자에 코드를 넣을 수 있습니다. 다음은 작업을 시작하는 코드입니다.

    이 코드를 테스트하려면 오디오 파일을 응용프로그램에 추가하고 이름을 myTone.wma로 지정해야 합니다. C:\ProgramData\Microsoft\Windows\Ringtones에서 샘플 벨소리를 찾거나 컴퓨터에서 확장명이 .wma인 짧은 파일을 검색할 수 있습니다.

    try
    {
        saveRingtoneChooser.Source = new Uri("appdata:/myTone.wma");
        //saveRingtoneChooser.Source = new Uri("isostore:/myTone.wma"); 
    
        saveRingtoneChooser.DisplayName = "My custom ringtone";
    
        saveRingtoneChooser.Show();
    }
    catch (System.InvalidOperationException ex)
    {
        MessageBox.Show("An error occurred.");
    }
    
    
    참고참고:

    응용프로그램 프로젝트에 포함된 오디오 파일에는 appdata:을 사용합니다. 미디어 파일은 XAP 파일에 번들되며 응용프로그램의 설치 디렉터리에 저장됩니다. 격리된 저장소에 저장된 오디오 파일에는 isostore:를 사용합니다.

  5. Completed 이벤트 처리기에 대한 코드를 페이지에 추가합니다. 이 코드는 사용자가 작업을 완료한 후 실행됩니다. 벨소리를 성공적으로 저장했는지 여부를 확인할 수 있습니다.

    void saveRingtoneChooser_Completed(object sender, TaskEventArgs e)
    {
        switch (e.TaskResult)
        {
            //Logic for when the ringtone was saved successfully
            case TaskResult.OK:
                MessageBox.Show("Ringtone saved.");
                break;
    
            //Logic for when the task was cancelled by the user
            case TaskResult.Cancel:
                MessageBox.Show("Save cancelled.");
                break;
    
            //Logic for when the ringtone could not be saved
            case TaskResult.None:
                MessageBox.Show("Ringtone could not be saved.");
                break;
        }
    }
    

표시:
© 2014 Microsoft