Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit onderwerp wordt beschreven hoe u de ms-tonepicker gebruikt: URI-schema. Dit URI-schema kan worden gebruikt voor het volgende:
- Bepaal of de toonkiezer beschikbaar is op het apparaat.
- De toonkiezer weergeven om beschikbare beltonen, systeemgeluiden, teksttonen en alarmgeluiden weer te geven; en haal een toontoken op dat het geluid aangeeft dat de gebruiker heeft geselecteerd.
- Geef de toonbeveiliging weer, waarbij een geluidsbestandstoken als invoer wordt gebruikt en op het apparaat wordt opgeslagen. Opgeslagen tonen zijn vervolgens beschikbaar via de toonkiezer. Gebruikers kunnen de toon ook een gebruiksvriendelijke naam geven.
- Converteer een toontoken naar de vriendelijke naam.
ms-tonepicker: URI-schemareferentie
Dit URI-schema geeft geen argumenten door via de URI-schematekenreeks, maar geeft in plaats daarvan argumenten door via een ValueSet. Alle tekenreeksen zijn hoofdlettergevoelig.
In de onderstaande secties wordt aangegeven welke argumenten moeten worden doorgegeven om de opgegeven taak uit te voeren.
Taak: Bepalen of de toonkiezer beschikbaar is op het apparaat
var status = await Launcher.QueryUriSupportAsync(new Uri("ms-tonepicker:"),
LaunchQuerySupportType.UriForResults,
"Microsoft.Tonepicker_8wekyb3d8bbwe");
if (status != LaunchQuerySupportStatus.Available)
{
// the tone picker is not available
}
Taak: De toonkiezer weergeven
De argumenten die u kunt doorgeven om de toonkiezer weer te geven, zijn als volgt:
| Kenmerk | Typologie | Verplicht | Mogelijke waarden | Beschrijving |
|---|---|---|---|---|
| Handeling | touw | ja | "PickRingtone" | Opent de toonkiezer. |
| CurrentToneFilePath | touw | Nee | Een bestaand toon-token. | De toon die als huidige toon moet worden weergegeven in de toonkiezer. Als deze waarde niet is ingesteld, wordt de eerste toon in de lijst standaard geselecteerd. Dit is niet strikt genomen een bestandspad. U kunt voor CurrenttoneFilePath een geschikte waarde verkrijgen uit de ToneToken waarde die door de toonkiezer wordt teruggegeven. |
| Typefilter | touw | Nee | "Beltonen", "Meldingen", "Alarmen", "Geen" | Hiermee selecteert u welke tonen u aan de kiezer wilt toevoegen. Als er geen filter is opgegeven, worden alle tonen weergegeven. |
De waarden die worden teruggegeven in LaunchUriResults.Result:
| Retourwaarden | Typologie | Mogelijke waarden | Beschrijving |
|---|---|---|---|
| Resultaat | Int32 | 0 succes. 1 geannuleerd. 7 ongeldige parameters. 8 - geen tonen komen overeen met de filtercriteria. 255 - opgegeven actie wordt niet geïmplementeerd. |
Het resultaat van het selectieproces. |
| ToneToken | touw | Het token van de geselecteerde toon. De tekenreeks is leeg als de gebruiker standaard selecteert in de kiezer. |
Dit token kan worden gebruikt in een notificatiepayload voor toastmeldingen of kan worden toegewezen als beltoon of sms-toon van een contactpersoon. De parameter wordt alleen geretourneerd in de ValueSet als resultaat 0 is. |
| Schermnaam | touw | De vriendelijke naam van de opgegeven toon. | Een tekenreeks die aan de gebruiker kan worden weergegeven om de geselecteerde toon weer te geven. De parameter wordt alleen geretourneerd in de ValueSet als resultaat 0 is. |
Voorbeeld: Open de toonkiezer zodat de gebruiker een toon kan selecteren
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
}
}
Taak: De toonbesparing weergeven
De argumenten die u kunt doorgeven om de toonbesparing weer te geven, zijn als volgt:
| Kenmerk | Typologie | Verplicht | Mogelijke waarden | Beschrijving |
|---|---|---|---|---|
| Handeling | touw | ja | "SaveRingtone" | Hiermee opent u de kiezer om een beltoon op te slaan. |
| ToneFileSharingToken | touw | ja | SharedStorageAccessManager bestandendelingstoken voor het beltoonbestand dat moet worden opgeslagen. | Slaat een specifiek geluidsbestand op als beltoon. De ondersteunde inhoudstypen voor het bestand zijn mpeg audio en x-ms-wma audio. |
| Schermnaam | touw | Nee | De vriendelijke naam van de opgegeven toon. | Hiermee stelt u de weergavenaam in die moet worden gebruikt bij het opslaan van de opgegeven beltoon. |
De waarden die worden teruggegeven in LaunchUriResults.Result:
| Retourwaarden | Typologie | Mogelijke waarden | Beschrijving |
|---|---|---|---|
| Resultaat | Int32 | 0 succes. 1 geannuleerd door gebruiker. 2-Ongeldig bestand. 3-Ongeldig bestandinhoudstype. 4-bestand overschrijdt de maximale beltoongrootte (1 MB in Windows 10). 5-Bestand overschrijdt de limiet van 40 seconden. 6-Bestand wordt beveiligd door digitaal rechtenbeheer. 7 ongeldige parameters. |
Het resultaat van het selectieproces. |
Voorbeeld: Een lokaal muziekbestand opslaan als beltoon
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;
}
}
}
Taak: Een toontoken converteren naar zijn vriendelijke naam
De argumenten die u kunt doorgeven om de vriendelijke naam van een toon te verkrijgen, zijn als volgt:
| Kenmerk | Typologie | Verplicht | Mogelijke waarden | Beschrijving |
|---|---|---|---|---|
| Handeling | touw | ja | VerkrijgToonNaam | Geeft aan dat u de vriendelijke naam van een toon wilt ophalen. |
| ToneToken | touw | ja | Het toon-token | Het toontoken waaruit een weergavenaam moet worden opgehaald. |
De waarden die worden teruggegeven in LaunchUriResults.Result:
| Retourwaarde | Typologie | Mogelijke waarden | Beschrijving |
|---|---|---|---|
| Resultaat | Int32 | 0-De pickoperatie is geslaagd. 7-Onjuiste parameter (bijvoorbeeld geen ToneToken opgegeven). 9-Fout bij het lezen van de naam voor het opgegeven token. 10-Kan het opgegeven toontoken niet vinden. |
Het resultaat van het selectieproces. |
| Schermnaam | touw | De vriendelijke naam van de toon. | Retourneert de weergavenaam van de geselecteerde toon. Deze parameter wordt alleen geretourneerd in de ValueSet als resultaat 0 is. |
Voorbeeld: Een toontoken ophalen uit Contact.RingToneToken en de vriendelijke naam weergeven op de contactkaart.
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
}
}
}