Georg fährt extra nach Berlin um Steve Ballmer zu treffen

31 Tage Mango | Tag #20: Klingeltöne

Die­ser Arti­kel ist Tag #20 der Serie 31 Tage Man­go von Jeff Blan­ken­burg.

Der Ori­gi­nal­ar­ti­kel befin­det sich hier: Day #20: Crea­ting Ring­to­nes.

Die­ser Arti­kel wur­de in der Ori­gi­nal­se­rie von Gast­au­tor Jer­rel Blan­kenship geschrie­ben. Bei Twit­ter kann Jer­rel unter @thejerrel erreicht wer­den. Jer­rel hat außer­dem ein Buch geschrie­ben: Pro Agi­le .NET Deve­lop­ment with Scrum auf Ama­zon.

Heu­te reden wir über Klin­gel­tö­ne. Seit Man­go haben Sie als Ent­wick­ler die Mög­lich­keit, Anwen­dun­gen zu schrei­ben, die Klin­gel­tö­ne auf dem Gerät des Anwen­ders spei­chern. Damit kön­nen die Benut­zer ihr Tele­fon noch mehr an ihre Bedürf­nis­se anpas­sen.

Kriterien für eine Audiodatei

Es gibt eini­ge Anfor­de­run­gen an Audio­da­tei­en, damit sie als Klin­gel­ton in Fra­ge kom­men.

Die Audio­da­tei muss die fol­gen­den Kri­te­ri­en erfül­len:

  • Sie muss im WMA oder MP3 For­mat sein.
  • Sie darf nicht grö­ßer als 1 MB sein.
  • Sie muss DRM-frei sein.
  • Sie darf nicht län­ger als 40 Sekun­den sein.

Der SaveRingtoneTask Chooser

Um einen Klin­gel­ton auf dem Han­dy zu spei­chern, ver­wen­den wir die Choo­ser API. Choo­sers erlau­ben den Auf­ruf von Sys­tem­an­wen­dun­gen aus der eige­nen Anwen­dung her­aus. Bei­spie­le hier­für sind die Kon­tak­te App, um Infor­ma­tio­nen über einen Kon­takt her­aus­zu­fin­den, die Bing Maps App, um eine Weg­be­schrei­bung anzu­zei­gen, und eben die Anwen­dung für Klin­gel­tö­ne. Mit die­ser ist es Ihnen mög­lich, eine Audio­da­tei in der Lis­te der Klin­gel­tö­ne im Sys­tem zu spei­chern. Um die Anwen­dung für Klin­gel­tö­ne auf­zu­ru­fen, ver­wen­den wir den Choo­ser mit dem Namen SaveRing­to­ne­Task.

Eine eigene Klingelton-Anwendung erstellen

Um die Ver­wen­dung des Tasks etwas bes­ser zu ver­ste­hen, bau­en wir eine klei­ne Anwen­dung, die eine Audio­da­tei im Sys­tem als Klin­gel­ton ablegt.

Um den Choo­ser SaveRing­to­ne­Task zu ver­wen­den, erstel­len wir eine neue Instanz die­ses Choo­sers und geben einen Dele­ga­te an, der auf­ge­ru­fen wer­den soll, nach­dem der Anwen­der die Arbeit mit dem Choo­ser abge­schlos­sen hat. Das fol­gen­de Code­bei­spiel zeigt den code-behind zur obi­gen Anwen­dung. Zur Ver­wen­dung des Choo­ser Tasks fügen wir ganz oben ein using Microsoft.Phone.Tasks hin­zu.

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();
      }
   }
}

Her­vor­zu­he­ben sind im Code­bei­spiel fol­gen­de Punk­te:

  • Sie müs­sen einen Com­ple­ted Hand­ler ange­ben, der auf­ge­ru­fen wird, wenn der Task abge­schlos­sen ist. In die­sem Hand­ler kön­nen Sie sehen, was der Anwen­der gemacht hat und ent­spre­chend reagie­ren.
  • Um den Choo­ser zu star­ten, müs­sen Sie nur die Metho­de Show() des Choo­sers auf­ru­fen.
  • Sie kön­nen Audio­da­tei­en ver­wen­den, die ent­we­der Teil der Anwen­dung selbst sind (app­data:) oder die im Iso­la­ted Sto­rage lie­gen (isosto­re:).

Zusammenfassung

Eige­ne Klin­gel­tö­ne sind eine gute Mög­lich­keit für den Anwen­der, sein Tele­fon zu per­so­na­li­sie­ren. Indem Sie den SaveRing­to­ne­Task auf­ru­fen, kön­nen Sie dem Anwen­der die­se Mög­lich­keit der Per­so­na­li­sie­rung bie­ten.

Viel Spaß beim Ent­wi­ckeln!

Um die in die­sem Arti­kel behan­del­te Win­dows Pho­ne Anwen­dung her­un­ter­zu­la­den, kli­cken Sie auf den Down­load Code But­ton.

Mor­gen wird Parag Joshi eine Tech­no­lo­gie behan­deln, die von vie­len Ent­wick­lern gefor­dert wur­de: Sockets.

Bis dahin!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert