Problem beim Festlegen und Abrufen des Werts von AVMetadataCommonKeyCreator

9

Ich habe eine Videoaufnahme-App für das iPhone. Ich verwende AVAssetWriter zum Schreiben der aufgezeichneten Videodaten in eine Datei. Ich bin auch daran interessiert, benutzerdefinierte Metadaten in die Datei einzubetten. Zum Beispiel: Ich möchte meine Anwendung als Ersteller des Videos identifizieren.

Nachdem ich den Asset Writer erstellt habe, füge ich den Creator-Wert hinzu, indem ich den Schlüssel AVMetadataCommonKeyCreator zu den Metadaten des Asset-Writers verwende.

Code-Snippet ist wie folgt:

%Vor%

Sobald die Aufnahme fertig ist, versuche ich den Inhalt der Datei mit AVURLAsset zu lesen.

%Vor%

Jedoch gibt [asset commonMetadata] keine AVMetadataItems zurück. Es gibt ein leeres Array zurück. Ich bin in der Lage, die Werte anderer Metadatenobjekte wie AVMetadataCommonKeyTitle , AVMetadataCommonKeyModel , AVMetadataCommonKeySource zu setzen. Diese Werte werden ordnungsgemäß abgerufen. Das Problem ist nur mit AVMetadataCommonKeyCreator . Bitte lassen Sie mich den Grund für dieses Verhalten wissen. Ist es nicht möglich, einen anwendungsspezifischen Wert für AVMetadataCommonKeyCreator festzulegen? Was stellt dieser Schlüssel eigentlich dar?

    
Sahana Kamath 25.04.2011, 10:46
quelle

2 Antworten

2

Ich habe dieselben Probleme vor etwa einem Jahr. Ich habe keine Metadaten gesehen, wenn ich Audiodateien mit AVFoundation geschrieben habe. Ich denke, dass AVMetadataCommonKeyCreator nicht funktioniert. Ich kann jetzt nicht sagen, aber es war so.

Ich löse dieses Problem, indem ich die C-Bibliothek taglib Ссылка verwende Es ist wirklich einfach, diese Bibliothek für iOS zu erstellen. Ich denke, dass Sie einige Dateien löschen können, wenn Sie es nicht kompilieren können.

    
Danil 27.10.2012 20:03
quelle
1

Ich möchte auch bestätigen, dass AVMetadataCommonKeyCreator nicht in den Metadaten eines Video-Assets gespeichert wird. Die anderen, die ich versucht habe ( AVMetadataCommonKeyTitle , AVMetadataCommonKeyDescription , etc) funktionieren. Mein Basis-SDK ist iOS 8.2.

Gibt es etwas Besonderes am Schöpferschlüssel? Reserviert Apple es für eine andere Verwendung? Gibt es andere Schlüssel, die auf uns beschränkt sind (oder einfach nicht funktionieren)?

(Ich hatte nicht den Luxus, jeden der 23 AVMetadataCommonKeys zu testen.)

    
coco 24.03.2015 18:11
quelle

Tags und Links