Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym temacie opisano sposób używania schematu identyfikatora URI ms-tonepicker:. Ten schemat identyfikatora URI może służyć do:
- Ustal, czy selektor tonów jest dostępny na urządzeniu.
- Wyświetl selektor tonu, aby wyświetlić listę dostępnych dzwonek, dźwięków systemowych, tonów tekstowych i dźwięków alarmu; i uzyskaj token tonu, który reprezentuje dźwięk wybrany przez użytkownika.
- Wyświetl wygaszacz tonu, który pobiera token pliku dźwiękowego jako dane wejściowe i zapisuje go na urządzeniu. Zapisane odcienie są następnie dostępne za pośrednictwem selektora tonów. Użytkownicy mogą również nadać tonowi przyjazną nazwę.
- Przekonwertuj token tonu na przyjazną nazwę.
ms-tonepicker: odwołanie do schematu identyfikatora URI
Ten schemat identyfikatora URI nie przekazuje argumentów za pośrednictwem ciągu schematu identyfikatora URI, ale zamiast tego przekazuje argumenty za pośrednictwem elementu ValueSet. W przypadku wszystkich ciągów uwzględniana jest wielkość liter.
Poniższe sekcje wskazują, które argumenty powinny zostać przekazane w celu wykonania określonego zadania.
Zadanie: ustal, czy selektor tonów jest dostępny na urządzeniu
var status = await Launcher.QueryUriSupportAsync(new Uri("ms-tonepicker:"),
LaunchQuerySupportType.UriForResults,
"Microsoft.Tonepicker_8wekyb3d8bbwe");
if (status != LaunchQuerySupportStatus.Available)
{
// the tone picker is not available
}
Zadanie: Wyświetlanie selektora tonów
Argumenty, które można przekazać w celu wyświetlenia selektora tonów, są następujące:
| Parametr | Typ | Wymagane | Możliwe wartości | Opis |
|---|---|---|---|---|
| Akcja | sznurek | tak | "PickRingtone" | Otwiera wybierak tonu. |
| CurrentToneFilePath | sznurek | Nie | Istniejący token tonu. | Ton, który ma być wyświetlany jako bieżący ton w wybieraczu tonów. Jeśli ta wartość nie jest ustawiona, domyślnie jest wybierany pierwszy ton na liście. To nie jest ściśle mówiąc ścieżka pliku. Możesz uzyskać odpowiednią wartość dla CurrenttoneFilePath z wartości ToneToken zwróconej przez wybierak tonów. |
| Filtr typu | sznurek | Nie | "Dzwonki", "Powiadomienia", "Alarmy", "Brak" | Wybiera tony, które mają zostać dodane do wybieraka. Jeśli nie określono żadnego filtru, zostaną wyświetlone wszystkie odcienie. |
Wartości zwracane w parametrze LaunchUriResults.Result:
| Wartości zwracane | Typ | Możliwe wartości | Opis |
|---|---|---|---|
| Wynik | Int32 | 0 sukces. 1-anulowano. 7 - nieprawidłowe parametry. 8 — brak tonów zgodnych z kryteriami filtru. 255 — określona akcja nie jest implementowana. |
Wynik operacji wybieraka. |
| ToneToken | sznurek | Token wybranego tonu. Ciąg jest pusty, jeśli użytkownik wybierze domyślne w selektorze. |
Ten znacznik może być używany w ładunku powiadomienia typu toast lub może być przypisany jako dzwonek przypisany do kontaktu albo sygnał wiadomości tekstowej. Parametr jest zwracany w elemencie ValueSet tylko wtedy, gdy Wynik to 0. |
| Nazwa wyświetlana | sznurek | Przyjazna nazwa określonego tonu. | Ciąg, który może być wyświetlany użytkownikowi w celu reprezentowania wybranego tonu. Parametr jest zwracany w elemencie ValueSet tylko wtedy, gdy Wynik to 0. |
Przykład: Otwórz selektor tonu, aby użytkownik mógł wybrać ton
LauncherOptions options = new LauncherOptions();
options.TargetApplicationPackageFamilyName = "Microsoft.Tonepicker_8wekyb3d8bbwe";
ValueSet inputData = new ValueSet() {
{ "Action", "PickRingtone" },
{ "TypeFilter", "Ringtones" } // Show only ringtones
};
LaunchUriResult result = await Launcher.LaunchUriForResultsAsync(new Uri("ms-tonepicker:"), options, inputData);
if (result.Status == LaunchUriStatus.Success)
{
Int32 resultCode = (Int32)result.Result["Result"];
if (resultCode == 0)
{
string token = result.Result["ToneToken"] as string;
string name = result.Result["DisplayName"] as string;
}
else
{
// handle failure
}
}
Zadanie: Wyświetlanie wygaszacza tonu
Argumenty, które można przekazać w celu wyświetlenia wygaszacza tonu, są następujące:
| Parametr | Typ | Wymagane | Możliwe wartości | Opis |
|---|---|---|---|---|
| Akcja | sznurek | tak | "SaveRingtone" | Otwiera okno wyboru, aby zapisać dzwonek. |
| ToneFileSharingToken | sznurek | tak | SharedStorageAccessManager token dostępu do udostępniania plików dla pliku dzwonka do zapisania. | Zapisuje określony plik dźwiękowy jako dzwonek. Obsługiwane typy zawartości dla pliku to mpeg audio i x-ms-wma audio. |
| Nazwa wyświetlana | sznurek | Nie | Przyjazna nazwa określonego tonu. | Ustawia nazwę wyświetlaną do użycia podczas zapisywania określonego dzwonka. |
Wartości zwracane w parametrze LaunchUriResults.Result:
| Wartości zwracane | Typ | Możliwe wartości | Opis |
|---|---|---|---|
| Wynik | Int32 | 0 sukces. 1 anulowane przez użytkownika. 2-Nieprawidłowy plik. 3- Nieprawidłowy typ zawartości pliku. 4-plik przekracza maksymalny rozmiar dzwonka (1 MB w systemie Windows 10). 5-Plik przekracza limit długości 40 sekund. 6-Plik jest chroniony przez zarządzanie prawami cyfrowymi. 7 - nieprawidłowe parametry. |
Wynik operacji wybieraka. |
Przykład: Zapisywanie lokalnego pliku muzycznego jako dzwonka
LauncherOptions options = new LauncherOptions();
options.TargetApplicationPackageFamilyName = "Microsoft.Tonepicker_8wekyb3d8bbwe";
ValueSet inputData = new ValueSet() {
{ "Action", "SaveRingtone" },
{ "ToneFileSharingToken", SharedStorageAccessManager.AddFile(myLocalFile) }
};
LaunchUriResult result = await Launcher.LaunchUriForResultsAsync(new Uri("ms-tonepicker:"), options, inputData);
if (result.Status == LaunchUriStatus.Success)
{
Int32 resultCode = (Int32)result.Result["Result"];
if (resultCode == 0)
{
// no issues
}
else
{
switch (resultCode)
{
case 2:
// The specified file was invalid
break;
case 3:
// The specified file's content type is invalid
break;
case 4:
// The specified file was too big
break;
case 5:
// The specified file was too long
break;
case 6:
// The file was protected by DRM
break;
case 7:
// The specified parameter was incorrect
break;
}
}
}
Zadanie: Przekształcenie symbolu tonu na przyjazną nazwę
Argumenty, które można przekazać, aby uzyskać przyjazną nazwę tonu, są następujące:
| Parametr | Typ | Wymagane | Możliwe wartości | Opis |
|---|---|---|---|---|
| Akcja | sznurek | tak | PobierzNazwęDźwięku | Wskazuje, że chcesz uzyskać przyjazną nazwę tonu. |
| ToneToken | sznurek | tak | Token dźwięku | Token tonu, z którego można uzyskać nazwę wyświetlaną. |
Wartości zwracane w parametrze LaunchUriResults.Result:
| Wartość zwracana | Typ | Możliwe wartości | Opis |
|---|---|---|---|
| Wynik | Int32 | 0 — Operacja selekcji zakończyła się pomyślnie. 7-Nieprawidłowy parametr (na przykład nie podano parametru ToneToken). 9— Błąd podczas odczytywania nazwy określonego tokenu. 10 — Nie można odnaleźć określonego tokenu tonu. |
Wynik operacji wybieraka. |
| Nazwa wyświetlana | sznurek | Przyjazna nazwa tonu. | Zwraca nazwę wyświetlaną wybranego tonu. Ten parametr jest zwracany tylko w elemencie ValueSet, jeśli wynik wynosi 0. |
Przykład: pobierz token dźwięku z Contact.RingToneToken i wyświetl jego nazwę na karcie kontaktowej.
using (var connection = new AppServiceConnection())
{
connection.AppServiceName = "ms-tonepicker-nameprovider";
connection.PackageFamilyName = "Microsoft.Tonepicker_8wekyb3d8bbwe";
AppServiceConnectionStatus connectionStatus = await connection.OpenAsync();
if (connectionStatus == AppServiceConnectionStatus.Success)
{
var message = new ValueSet() {
{ "Action", "GetToneName" },
{ "ToneToken", token)
};
AppServiceResponse response = await connection.SendMessageAsync(message);
if (response.Status == AppServiceResponseStatus.Success)
{
Int32 resultCode = (Int32)response.Message["Result"];
if (resultCode == 0)
{
string name = response.Message["DisplayName"] as string;
}
else
{
// handle failure
}
}
else
{
// handle failure
}
}
}