{31 день с Mango} День 20: создание рингтонов

Это День 20 в серии статей 31 день с Mango (перевод оригинальной серии 31 Days of Mango), и был написан приглашенным автором Jerrel Blankenship. Вы можете найти Jerrel в твиттере @thejerrel. Также вы можете найти его книгу Pro Agile .NET Development with Scrum on Amazon.

Сегодня мы поговорим о рингтонах. С приходом обновления Mango на телефоны Windows Phone, у вас, как у разработчика появилась возможность писать приложения, которые помогут пользователю установить мелодию на их устройство для последующего использования. Это еще один способ, чтобы дать пользователю иметь дополнительную возможность индивидуализации своего телефона.

Требования к аудио файлам

Прежде, чем использовать возможность сохранить рингтон на телефон, следует разобраться в некоторых требованиях к звуковому файлу, которые вы должны знать.
Звуковой файл должен удовлетворять следующим требованиям:
— Он должен быть в формате только WMA или MP3
— Он должен быть размером не более 1 МБ
— Файл не должен содержать DRM (средство защиты авторских прав)
— Он не должен быть длиннее чем приблизительно 40 секунд

Задача выбора SaveRingtoneTask

Чтобы сохранить рингтон из вашего приложения в системе, вы должны использовать API задач выбора. Задачи выбора имеют API, которое позволяет  возможность запускать системные приложения из пользовательских приложений. Примером этому могут служить возможность запуска приложения Контакты (Contacts) для получения информации о человеке; приложение Bing Maps, чтобы найти путь к объекту; запуск приложения Мелодия звонка (Ringtones). Мелодия звонка (Ringtones) — это приложение, которое позволяет сохранить аудиофайл рингтона в системный список рингтонов. Задача выбора, которую надо вызвать для запуска приложения Мелодия звонка (Ringtones) называется SaveRingtoneTask.

Создание пользовательского приложения для сохранения рингтонов

Чтобы лучше понять это и как использовать эту задачу, построим наше собственное приложение, которое получает аудио файл из приложения и сохраняет его в системный список рингтонов.

Для вызова задачи выбора SaveRingtoneTask, вам необходимо создать новый экземпляр этой задачи выбора и определить делегат, который будет выполняться один раз после  выполнения приложения Мелодия звонка (Ringtones). Пример содержит код приложения, продемонстрированного на картинке выше. Для использования этой задачи выбора вы должны убедиться, что подключено пространство имен Microsoft.Phone.Task.

using System;
using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;

namespace CustomRingtonesExample
{
    public partial class MainPage : PhoneApplicationPage
    {
        private readonly SaveRingtoneTask _customRingtone;

        public MainPage()
        {
            InitializeComponent();
            _customRingtone = new SaveRingtoneTask();
            _customRingtone.Completed += customRingtone_Completed;
        }

        private void customRingtone_Completed(object sender, TaskEventArgs e)
        {
            MessageBox.Show(@"You are back from the Ringtones application. Reference e.TaskResult, in your code,
            if you want to see if the save was successful.");
        }

        private void SaveButton_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            _customRingtone.Source = new Uri("appdata:/Audio/ExampleRingtone.wma");
            _customRingtone.DisplayName = "Example Custom Ringtone";
            _customRingtone.Show();
        }
    }
}

Примите к сведению:
— Вам нужно определить обработчик события Completed, который будет выполняться, как только пользователь завершил задачу. Этот метод является прекрасным местом, чтобы проверить, что пользователь зашёл в эту задачу и совершил соответствующие действия.
— Для вызова приложения, вам просто нужно вызвать метод Show() из задачи выбора.
— Вы можете получить доступ к аудиофайлам из данных, которые являются частью приложения, а также из изолированного хранилища.

Заключение

В завершение сегодняшней статьи, скажу, что пользовательские рингтоны дают пользователю возможность иметь более персонализированный опыт работы с их новым Windows Phone. Вызвав задачу SaveRingtonTask, вы можете предоставить шлюз для пользователей, который даст возможность этой настройки своего ​​телефона прямо из приложения.
Удачного вам кода!
Вы можете скачать рабочую версию проекта, описанного в этой статье: скачать.
Завтра Parag Joshi расскажет о новых технологиях, доступных для разработчиков Windows Phone, которые имеют большой спрос: сокеты. До встречи!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *