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?
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.
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.)
Tags und Links ios metadata avassetwriter