я не могу прочитать информацию из тегов ID3 ​​в приложении UWP - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть приложение ac # UWP.Для добавления перерыва мне нужно прочитать теги ID3 для DAI.

Я регистрируюсь на событие timeMetadataTracksChanged, а затем регистрируюсь на событие CueEntered.Они оба работают правильно, и я могу прочитать заголовок тега id3, но не остальные данные.Как мне это сделать?

    private void metadata_ID3CueEntered(TimedMetadataTrack timedMetadataTrack, MediaCueEventArgs args)
            {

                Debug.WriteLine("metadata_ID3CueEntered");
                Debug.WriteLine("id: "+args.Cue.Id.ToString());
                var dataCue = args.Cue as DataCue;
                Debug.WriteLine("dispatch type: " + timedMetadataTrack.DispatchType);
                Debug.WriteLine("trackLabel: " + timedMetadataTrack.Label.ToString());
                    if (dataCue != null && dataCue.Data != null)
                {
                    // The payload is the raw ID3 bytes found in a TS stream
                    // Ref: http://id3.org/id3v2.4.0-structure
                    var dr = Windows.Storage.Streams.DataReader.FromBuffer(dataCue.Data);
                var header_version_major = dr.ReadByte();
                var header_version_minor = dr.ReadByte();
                var header_flags = dr.ReadByte();
                var header_tagSize = dr.ReadUInt32();
                    System.Diagnostics.Debug.WriteLine($"ID3 tag data: major {header_version_major}, minor: {header_version_minor}");
                }
            }

1 Ответ

0 голосов
/ 27 ноября 2018

В конце концов это было очень легко, хотя мне потребовался день, чтобы понять это.

Convert.ToBase64String(dataCue.Data.ToArray())
...