Windows Phone

Aktualisieren von Windows Phone 7.1-Apps auf Windows Phone 8

Michael Crump

Einige Entwickler haben ihre Windows Phone 7.1-Projekte aktualisiert, um die neuen Features von Windows Phone 8 zu nutzen, andere sind hingegen nicht sicher, welche Voraussetzungen für das Upgrade erforderlich sind und welche zusätzlichen Tools und Features sie verwenden sollen. In diesem Artikel zeige ich, dass der Übergang von Windows Phone 7.1 auf Windows Phone 8 einfacher ist, als Sie möglicherweise denken.

Neue Vorlagen

Bevor Sie sich die Vorlagen anschauen, sollten Sie sich fragen, welche praktischen Probleme durch das Upgrade gelöst werden sollen. Spieleentwickler, die hauptsächlich mit XNA arbeiten, können zu Direct3D wechseln, da XNA nicht mehr aktiv von Microsoft entwickelt wird. Sie haben weiterhin die Möglichkeit, eine XNA-App zu entwickeln, aber sie wird die neuen Features in Windows Phone 8 nicht nutzen können.

Zudem haben ursprüngliche Webentwickler jetzt die Möglichkeit einzusteigen, da Internet Explorer 10 auf dem Telefon vorinstalliert ist. Aber abgesehen von der Spiele- und Webentwicklung enthält Windows Phone 8 zahlreiche neue Features für XAML/C#- und Visual Basic-Entwickler.

Dies sind die neuen Vorlagen, die im Windows Phone 8 SDK enthalten sind:

  • Windows Phone-XAML- und Direct3D-App: Hierbei handelt es sich um ein Projekt zur Erstellung einer verwalteten Windows Phone-App mit systemeigenen Komponenten. Beim ersten Start werden Sie feststellen, dass zwei Projekte enthalten sind: ein Windows Phone 8-Projekt und eine Komponente für Windows-Runtime (WinRT) in C++.
  • Windows Phone-HTML5-App: Dies ist ein Projekt zur Erstellung einer Windows Phone-App, die hauptsächlich HTML-Inhalt verwendet. Diese Vorlage wird häufig mit der WinJS-Version (Windows-Bibliothek für JavaScript) von Windows Phone verwechselt, um die es sich hier aber nicht handelt. Es wird lediglich ein WebBrowser-Steuerelement verwendet, um HTML5-Inhalt anzuzeigen.
  • Vorlage für Windows Phone-Komponententest: Dieses Projekt enthält Komponententests, mit denen Windows Phone-Apps getestet werden können. Diese Vorlage wird hinzugefügt, nachdem Sie die RTM-Version von Visual Studio Update 2 installiert haben.

Aktualisieren eines vorhandenen Projekts

Die neuen Projektvorlagen sind natürlich hilfreich für die Entwicklung neuer Apps, aber was ist mit einer vorhandenen XAML-basierten App, die bereits mit Windows Phone 7.1 erstellt wurde? Die gute Nachricht ist, dass Sie solche Apps auf Windows Phone 8 aktualisieren können, indem Sie in Visual Studio 2012 mit der rechten Maustaste auf das Windows Phone 7.1-Projekt klicken und dann „Upgrade auf Windows Phone 8.0“ auswählen. Es wird eine Meldung mit dem Hinweis angezeigt, dass dieses Upgrade nicht rückgängig gemacht werden kann und dass Projekte, auf die verwiesen wird, nicht aktualisiert werden. Sie sollten die App unbedingt sichern, bevor Sie die Aktualisierung fortsetzen. Sie können auch auf Windows Phone 8 aktualisieren, indem Sie „Projekteigenschaften“ auswählen, auf die Seite „Anwendung“ klicken, in der Dropdownliste den Eintrag für Windows Phone 8 auswählen und die Änderungen speichern.

Wenn noch ein Windows Phone 7-Projekt vorhanden ist, werden Sie aufgefordert, es auf Windows Phone 7.1 zu aktualisieren, bevor Sie es auf Windows Phone 8 aktualisieren können. Ich empfehle Ihnen wiederum, das Projekt zu sichern, bevor Sie den Vorgang fortsetzen.

Nachdem die App auf Windows Phone 8 aktualisiert wurde, können Sie die neuen Tools und SDK-Features verwenden. Als Nächstes befasse ich mich mit den neuen Emulatoroptionen, die es in Windows Phone 8 gibt.

Neue Emulatoroptionen

In Windows Phone 7.1 kann die Bereitstellung nur für zwei Emulatortypen mit der Zielbildschirmgröße 480x800 (WVGA) erfolgen. Der einzige Unterschied zwischen den Emulatorabbildern besteht in der RAM-Größe (512 MB oder 256 MB). In Windows Phone 8 wurden zwei neue Bildschirmgrößen hinzugefügt: 768x1280 (WXGA) und 720x1280 (720p). Es besteht ebenfalls die Möglichkeit, das Windows Phone SDK Update für Windows Phone 7.8 (unter bit.ly/10pauq4) herunterzuladen, um weitere Emulatoren hinzuzufügen und die Ausführung der Apps auf Windows Phone 7.8-Geräten zu testen. Da die Vorlage „Windows Phone-XAML- und XNA-App“ für Windows Phone OS 7.1 entwickelt wurde, können Sie die App weiterhin auf einem Windows Phone 8-Emulator testen. Abbildung 1zeigt eine Liste aller alten und neuen Emulatoren, die verfügbar sind.

Emulator Options in Windows Phone 8
Abbildung 1: Emulatoroptionen in Windows Phone 8

Da verschiedene Emulatoren zur Verfügung stehen, benötigen Sie keine physische Hardware mehr, um die Ausführung der App auf den verschiedenen erhältlichen Windows Phone 7- und Windows Phone 8-Geräten zu prüfen. Die neuen Windows Phone 8-Emulatoren sind richtige virtuelle Computer und eine der besten Verbesserungen am SDK.

Anmerkung: Für die neuen Emulatoren benötigen Sie Hyper-V, welches nur in Windows 8 Pro und Enterprise enthalten ist. Weitere Informationen finden Sie auf der Seite mit den Systemanforderungen für den Windows Phone-Emulator im Windows Phone-Entwicklungscenter unter bit.ly/QWhAA2.

Denken Sie angesichts der leistungsstarken Prozessoren in den modernen PCs auch daran, dass die App auf einem physischen Gerät getestet werden sollte, bevor Sie sie an den Marketplace übermitteln, damit die Leistung in der Praxis beurteilt werden kann.

Nachdem Sie nun wissen, wie verschiedene Entwicklergruppen die neuen Vorlagen nutzen können, sich mit den neuen Emulatoroptionen vertraut gemacht haben und erfahren haben, wie einfach ein vorhandenes Projekt auf Windows Phone 8 aktualisiert werden kann, ist es jetzt an der Zeit, sich mit den anderen wichtigen Problemen der Windows Phone 7-Entwickler zu befassen.

Das Simulationsdashboard

Wenn eine Windows Phone-App ausgeführt wird, kann die Benutzerfreundlichkeit durch verschiedene Dinge beeinträchtigt werden: langsame Reaktionen, Unterbrechung des Internetzugriffs, eingehende Anruferinnerungen, die App stellt ihren Zustand nach Sperrung des Telefons nicht wieder her usw. In Windows Phone 7.1 mussten Sie wahrscheinlich Code schreiben, der diese Situationen simuliert hat, jetzt können Sie hierzu das brandneue Simulationsdashboard verwenden (siehe Abbildung 2).

The Simulation Dashboard Included in the Windows Phone 8 SDK
Abbildung 2: Das Simulationsdashboard im Windows Phone 8 SDK

Sie können auf dieses Menü zugreifen, indem Sie „Extras | Simulationsdashboard“ in Visual Studio 2012 auswählen. Mit dem Simulationsdashboard können Sie vor Übermittlung an den Marketplace testen, wie leistungsfähig die App in verschiedenen Situationen ist.

Durch Aktivieren der Netzwerksimulation und Auswählen einer Netzwerkgeschwindigkeit können Sie sowohl verschiedene mobile Datennetzwerke als auch Wi-Fi-Netzwerke oder Szenarien testen, in denen keine Netzwerke verfügbar sind. Interessant sind insbesondere die Signalstärke-Optionen, die sich auf die Paketverlustrate und die Netzwerklatenz beziehen. Dank dieser Optionen sollten Sie eine Windows Phone 8-App erstellen können, die in den unterschiedlichsten Situationen eine gute Leistung zeigt.

Alle Apps für Windows Phone 7.1 oder 8 werden deaktiviert, sobald der Sperrbildschirm aktiviert ist. Sie werden dann wieder aktiviert, nachdem das Gerät entsperrt wurde. Innerhalb des Simulationsdashboards können Sie den Bildschirm problemlos sperren oder entsperren, um zu testen, wie eine App sich bei Aktivierung bzw. Deaktivierung verhält. Alternativ können Sie die Taste F12 drücken, um den Sperrbildschirm anzuzeigen.

Schließlich haben Sie die Möglichkeit, die Option zum Auslösen von Erinnerungen zu verwenden, die einen Alarm, eine Erinnerung, einen Telefonanruf, eine Textnachricht oder eine Toastbenachrichtigung simuliert. Mit diesen Optionen können Sie wiederum testen, wie sich die App bei Aktivierung bzw. Deaktivierung verhält.

Windows Phone-App-Analyse

Das Simulationsdashboard ist zwar nützlich für die Bereitstellung realer Szenarien, die einem Benutzer passieren können, sobald die App auf seinem Telefon ausgeführt wird, aber für die Leistung der App ist es nicht hilfreich. Hier kommt die Windows Phone-App-Analyse ins Spiel, die im Menü „Debuggen | Windows Phone-Anwendungsanalyse starten“ zur Verfügung steht.

Dieses Tool stellt die App-Überwachung, mit der die Startzeit und die Reaktionsfähigkeit ausgewertet werden kann, sowie die Profilerstellung bereit. Es unterstützt Sie bei der Auswertung von Ausführungs- und Speicherproblemen der App. Die Option zur Ausführung der Profilerstellung enthält erweiterte Einstellungen, mit denen Sie Vorgänge wie die visuelle Profilerstellung und das Codesampling durchführen können, während die Speicheroptionen das Erfassen von Speicherbelegungsstapeln und Objektverweisen ermöglichen. Beide Optionen haben zur Folge, dass ein Diagramm in Visual Studio 2012 erstellt wird und dass dem Projekt eine mit Zeitstempel versehene SAP-Datei hinzugefügt wird. Mit den erstellten Diagrammen können Sie Detailinformationen zu bestimmten Start- und Endzeiten sowie die von Visual Studio 2012 erstellte Überwachungszusammenfassung anzeigen. Das Tool Windows Phone-Anwendungsanalyse ist ein wesentlicher Bestandteil Ihres Qualitätssicherungsprozesses.

Store-Testkit

Nachdem Sie die App in verschiedenen Benutzerszenarien getestet haben und ihre Leistung mithilfe der Windows Phone-Anwendungsanalyse analysiert haben, müssen Sie die App testen, um sicherzustellen, dass sie im Windows Phone Store zertifiziert werden kann. Dies ist ein wesentlicher Schritt: In einer halben Stunde können Sie mehrere Tage Zeitverlust einsparen, sollte die App einen Fehler enthalten, der bei Verwendung dieses Kits aufgefallen wäre.

Das Kit kann problemlos aufgerufen werden, indem Sie mit der rechten Maustaste auf die App klicken und dann „Store-Testkit öffnen“ auswählen. Diese Funktionalität ist auch in Windows Phone 7.1 enthalten, dort hieß sie Marketplace-Testkit. Es wurden neue und optimierte Tests für Windows Phone 8 hinzugefügt.

Beim ersten Starten wird im unteren Bildschirmteil möglicherweise folgende Meldung mit blauem Hintergrund angezeigt: „Store-Testfälle wurden aktualisiert. Möchten Sie die aktualisierten Testfälle installieren?“ Sie können „Aktualisieren“ auswählen und neue oder geänderte Tests herunterladen. Dies ist hilfreich, denn Sie können immer sicher sein, mit den neuesten verfügbaren Tests zu arbeiten.

Links im Bildschirm befinden sich drei Registerkarten: „Anwendungsdetails“, „Automatisierte Tests“ und „Manuelle Tests“. Mit der Registerkarte „Anwendungsdetails“ wird sichergestellt, dass die Bildressourcen den Richtlinien im Windows Phone Store entsprechen. Dazu gehören die Store-Kachel sowie die Screenshots der App für WVGA, WXGA und 720p, wenn Ihr Projekt diese Auflösungen unterstützt. Mit den automatisierten Tests werden die XAP-Paketanforderungen, Ikonographie und Screenshots überprüft. Sie müssen dieses Feature lediglich aufrufen und auf die Schaltfläche „Test ausführen“ klicken. Die letzte Registerkarte enthält manuelle Tests. Derzeit gibt es 61 manuelle Tests, die Sie durchführen können. Sie müssen manuell angeben, ob ein Test bestanden wurde oder nicht. Eine entsprechende Anleitung finden Sie in der vollständigen Dokumentation. Zu den manuellen Tests gehören Tests für die Unterstützung mehrerer Geräte, das Schließen von Apps, Reaktionsfähigkeit usw.

Lokalisierung leicht gemacht

Bei Windows Phone 7 haben zahlreiche App-Entwickler die Gelegenheit verpasst, ihre Apps zu lokalisieren. Dies war häufig darauf zurückzuführen, dass sie bei der Übersetzung von einer Sprache in die andere wenig oder keine Unterstützung hatten. Die neueste Multilingual App Toolkit-Version und neue Projektvorlagen lösen dieses Problem.

Die standardmäßige Windows Phone 8-Vorlage führt Sie mithilfe der integrierten Kommentare in der Datei „MainPage.xaml“ durch die Lokalisierung und strukturiert die App mit einer Hilfsklasse und einem Ressourcenordner. Microsoft hat das Multilingual App Toolkit hinzugefügt, das ursprünglich aus Windows 8 stammt. Wenn das Multilingual App Toolkit für Visual Studio 2012 (bit.ly/NgggGU) installiert ist, müssen Sie lediglich „Extras | Multilingual App Toolkit aktivieren“ auswählen. Nachdem das Toolkit für Ihr Projekt aktiviert wurde, wählen Sie „Projekt | Übersetzungssprachen hinzufügen“ aus, um die verfügbaren Sprachen anzuzeigen (siehe Abbildung 3).

The Translation Languages Dialog Included with the Multilingual App Toolkit
Abbildung 3: Das Dialogfeld mit den Übersetzungssprachen aus dem Multilingual App Toolkit

Sie können nach der gewünschten Sprache filtern und dann „OK“ drücken. Die entsprechenden Sprachdateien werden dem Ressourcenordner automatisch hinzugefügt. Eine Datei, auf die Sie besonders achten sollten, ist die Datei mit der Erweiterung XLF. Hierbei handelt es sich um eine XLIFF-Datei (XML Localization Interchange File Format) nach Industriestandard, die eine exakte Kontrolle von Pseudoübersetzungen bereitstellt. Durch Doppelklicken auf die Datei wird der Multilingual Editor angezeigt, mit dem Sie von eine Sprache in die andere übersetzen können, indem Sie einfach auf die Schaltfläche zum Übersetzen klicken. Ein Beispiel hierfür finden Sie in Abbildung 4.

Translating from One Language to Another  
Abbildung 4: Von einer Sprache in die andere übersetzen

In Abbildung 4 können Sie sehen, dass ein paar Wörter automatisch für mich übersetzt werden. Sobald die Übersetzung abgeschlossen ist, können Sie sich abmelden und die Übersetzung zur Überprüfung an einen menschlichen Übersetzer weitergeben. In diesem Beispiel müssten nur die Wörter „MEINE TELERIK APP“ überprüft werden, da das Wort „Telerik“ nicht in der Übersetzungsressource enthalten ist. Der menschliche Übersetzer weiß, dass Telerik im Deutschen und im Englischen gleich geschrieben wird und dass das Wort daher nicht geändert werden muss. Sie können diese Datei speichern, um zusätzliche Unterstützung für eine weitere Sprache zu erhalten.

Sie können dies problemlos testen, indem Sie den Anwendungstitel in „MainPage.xaml“ in die folgende Zeile ändern:

<TextBlock Text="{Binding Path=LocalizedResources.ApplicationTitle,
  Source={StaticResource LocalizedStrings}}"
  Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>

Setzen Sie die Telefonsprache dann auf die Sprache, die Sie angegeben haben. In meinem Beispiel habe ich „Deutsch“ ausgewählt und als App-Titel wird „MEINE TELERIK APP“ angezeigt.

Verwendung des gemeinsam genutzten Kerns

Im Lieferumfang von Windows 8 ist ein gemeinsam genutzter Kern enthalten, den Windows Phone 8-Entwickler verwenden können. Einige der wichtigeren Verbesserungen in Microsoft .NET Framework 4.5 sind die async- und await-Unterstützung sowie eine einfachere Verwendung des isolierten Speichers.

In Windows Phone 7.1 mussten Sie in der Regel den in Abbildung 5 dargestellten Code schreiben, um eine Datei in den isolierten Speicher zu schreiben.

Abbildung 5: Schreiben einer Datei in den isolierten Speicher in Windows Phone 7.1

private void WriteFileToIsolatedStorage(string fileName, 
  string fileContent)
{
  using (IsolatedStorageFile isolatedStorageFile =
    IsolatedStorageFile.GetUserStoreForApplication())
  {
    using (IsolatedStorageFileStream isolatedStorageFileStream =
      isolatedStorageFile.CreateFile(fileName))
    {
      using (StreamWriter streamWriter =
        new StreamWriter(isolatedStorageFileStream))
      {
        streamWriter.Write(fileContent);
      }
    }
  }
}

Der Code in Abbildung 5 verwendet den System.IO.IsolatedStorage-Namespace, den es in Windows 8 nicht gibt. Stattdessen können sowohl Windows 8 als auch Windows Phone 8 Windows.Storage und das async/await-Muster nutzen, um Leistungsengpässe zu vermeiden und die Reaktionsfähigkeit der App insgesamt zu verbessern. Nachfolgend finden Sie ein Beispiel, wie Sie genau denselben Code in Windows Phone 8 schreiben und den gemeinsam genutzten Kern verwenden:

public async Task WriteFileToIsolatedStorage(
  string fileName, string fileContent)
{
  IStorageFolder applicationFolder = 
    ApplicationData.Current.LocalFolder;
  IStorageFile storageFile = await applicationFolder.CreateFileAsync(
    fileName, CreationCollisionOption.ReplaceExisting);
  using (Stream stream = await storageFile.OpenStreamForWriteAsync())
  {
    byte[] content = Encoding.UTF8.GetBytes(fileContent);
    await stream.WriteAsync(content, 0, content.Length);
  }
}

Ein weiterer Namespace, der häufig in Windows 8 verwendet wird, ist HttpClient. Zwar verwendet das Windows Phone 8 SDK noch standardmäßig die WebClient-Klasse, aber Microsoft hat die HttpClient-Klasse über NuGet bereitgestellt. Wenn Sie nach „Microsoft.Net.Http“ suchen und das NuGet-Paket installieren, können Sie Code wie den folgenden Ausschnitt schreiben, der sowohl in Windows 8 als auch in Windows Phone 8 funktioniert:

private async void Button_Click(object sender, RoutedEventArgs e)
{
  var httpClient = new HttpClient();
  var request = await httpClient.GetAsync(new Uri(
    "https://www.microsoft.com/", UriKind.RelativeOrAbsolute));
  var txt = await request.Content.ReadAsStringAsync();
  // Do something with txt, such as MessageBox.Show(txt)
}

Wichtige neue Features

Bisher habe ich verschiedene Möglichkeiten beschrieben, den Übergang auf Windows Phone 8 zu vereinfachen. Jetzt schaue ich mir mehrere neue Features an, ohne die Ihre App nicht mehr auskommt.

Neue Kacheltypen In Windows Phone 7.1 gibt es einen Flip-Kacheltyp und eine Kachelgröße 173x173, die auch als mittelgroßer Kacheltyp bezeichnet wird. In Windows Phone 8 werden neue Kacheltypen und -größen eingeführt:

  • Flip-Kachel: Bis auf die neuen Kachelgrößen ist dieser Kacheltyp identisch mit dem aus Windows Phone 7.1; die Kachelrückseiten werden nach vorne gedreht.
  • Iconic-Kachel: Dieser Kacheltyp basiert größtenteils auf den Windows Phone-Entwurfsprinzipien für ein modernes Erscheinungsbild.
  • Cycle-Kachel: Bei diesem Kacheltyp können Sie durch neun Bilder blättern.

In Abbildung 6werden die Kachelgrößen verglichen.

Abbildung 6: Vergleich von Kachelgrößen der verschiedenen Kacheltypen

Kachelgröße Größe von Flip- und Cycle-Kacheln (Pixel) Größe von Iconic-Kacheln (Pixel)
Klein 159x159 110x110
Mittel 336x336 202x202
Breit 691x336 Nicht verfügbar

Kacheln können problemlos über die Datei „WMAppManifest.xml“ konfiguriert werden. Wählen Sie hierzu „Kachelvorlage“ aus, und fügen Sie dann die entsprechenden Bilder hinzu. Diese Festlegung kann auch über Codebehind erfolgen; eine Flip-Kachelvorlage für Windows Phone 8 finden Sie im Dev Center unter bit.ly/10pavKC.

Sperrbildschirm und Benachrichtigungen In Windows Phone 7.1 wurden nur Benachrichtigungen wie E-Mails, Textnachrichten und Telefonanrufe angezeigt. Jetzt können Benutzer Ihre App als Bildanbieter für den Hintergrund des Sperrbildschirms verwenden und benutzerdefinierte Nachrichten aufnehmen (ähnlichen den oben beschriebenen). Das Hintergrundbild einzustellen ist ganz einfach: Sie fügen ein Bild zu Ihrem Ordner mit dem Inhaltstyp hinzu und aktualisieren die App-Manifestdatei, um Ihre App als Hintergrundanbieter zu deklarieren. Klicken Sie mit der rechten Maustaste auf die Datei „WMAppManifest.xml“, und wählen Sie „Öffnen mit“ und dann „XML (Text)-Editor“ aus. Fügen Sie dann diese Erweiterung hinzu:

<Extensions>
  <Extension ExtensionName="LockScreen_Background"
    ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" TaskID="_default" />
</Extensions>

Rufen Sie anschließend den in Abbildung 7dargestellten Codeausschnitt auf.

Abbildung 7: Festlegen des Hintergrundbilds für den Sperrbildschirm des Telefons

private async void btnLockScreenImage_Click_1(
  object sender, RoutedEventArgs e)
{
  if (!LockScreenManager.IsProvidedByCurrentApplication)
  {
    await LockScreenManager.RequestAccessAsync();
  }
  if (LockScreenManager.IsProvidedByCurrentApplication)
  {
    Uri imageUri=new Uri(
      "ms-appx:///LockScreen.jpg", UriKind.RelativeOrAbsolute);
    Windows.Phone.System.UserProfile.LockScreen.SetImageUri(imageUri);
  }
}

Sie beginnen, indem Sie zunächst prüfen, ob der Benutzer den entsprechenden Zugriff für die Änderung des Hintergrunds besitzt. Ist dies nicht der Fall, stellen Sie eine GUI bereit, die die Berechtigung anfordert, erstellen dann eine URI mit dem Pfad zu Ihrem Bild und verwenden den Windows.Phone.System.UserProfile.LockScreen-Namespace, um es festzulegen.

Im Nachrichtenbereich des Windows Phone 8-Geräts können Sie auch festlegen, dass für eine Benachrichtigung ein Symbol und ein Zähler (für Nachrichten, Anrufe usw.) angezeigt werden. Weitere Informationen hierzu finden Sie in dem Artikel zu Benachrichtigungen auf dem Sperrbildschirm für Windows Phone 8 unter bit.ly/QhyXyR.

Sprache Eine der aufregendsten neuen Features ist Sprache. Im Windows Phone 8 SDK sind mehrere Sprachkomponenten enthalten:

  • Text-zu-Sprache (wird auch als Sprachsynthese bezeichnet): Bei dieser Funktion erfolgt die Sprachausgabe von Text für den Benutzer über den Telefonlautsprecher, Kopfhörer oder die Bluetooth-Verbindung.
  • Sprache-zu-Text (wird auch als Spracherkennung bezeichnet): Diese Funktion ermöglicht es den Benutzern, Befehle in das Telefon zu sprechen, damit es Ausgaben ausführt.
  • Sprachbefehle: Der Benutzer kann außerhalb Ihrer App Befehle zur Ausführung bestimmter Aufgaben sprechen, indem er die Starttaste gedrückt hält und „öffne“ oder „starte“ gefolgt von dem App-Namen sagt.

Die Speech.Synthesis-API und die Speech.Recognition-API machen all dies möglich. Die Text-zu-Sprache-Funktion kann einfach mit zwei Codezeilen in einem Ereignishandler implementiert werden:

private async void Button_Click(object sender, RoutedEventArgs e)
{
  SpeechSynthesizer synth = new SpeechSynthesizer();
  await synth.SpeakTextAsync("The latest MSDN issue has arrived!");
}

Stellen Sie lediglich sicher, dass die async- und await-Operatoren der Methode hinzugefügt wurden.

Das Potenzial des Upgrades ausschöpfen

Von den neuen Tools und Vorlagen bis hin zu den neuen Features im Windows Phone 8 SDK habe ich alles behandelt. Ich habe gezeigt, wie Lokalisierung problemlos implementiert werden kann, und die Vorteile einer mit Windows 8 gemeinsam genutzten Codebasis beschrieben. Sie sollten nun gut gerüstet sein, um das Potenzial eines Upgrades von Windows Phone 7 auf Windows Phone 8 voll auszuschöpfen.

Michael Crump ist Microsoft MVP, INETA Champion und Autor mehrerer .NET Framework-E-Books. Er arbeitet bei Telerik, der Schwerpunkt seiner Arbeit ist die Suite der XAML-Steuerelemente. Sie können ihn auf Twitter unter twitter.com/mbcrump erreichen oder seinen Blog unter michaelcrump.net besuchen.

Unser Dank gilt den folgenden technischen Experten für die Durchsicht dieses Artikels: Jeff Blankenburg (Microsoft) und Lance McCarthy (Telerik)
Jeff Blankenburg (Jeffrey.Blankenburg@microsoft.com) ist Entwicklungsexperte bei Microsoft, Mitautor des Buchs „Migrating to Windows Phone“ (Apress, 2011) und Organisator mehrerer Technikkonferenzen

Lance McCarthy ist Nokia Ambassador und Supportspezialist für XAML bei Telerik.