代码之家  ›  专栏  ›  技术社区  ›  Martin Müller

libVLC数据。音频通道给出了错误的通道数

  •  0
  • Martin Müller  · 技术社区  · 4 年前

    
    ...
    
    videoMedia = new Media(libVLC, new Uri(videoMediaFile));
    videoMedia.ParsedChanged += OnVideoMediaParsedChanged;
    videoMedia.Parse(MediaParseOptions.ParseNetwork);
    
    ...
    
    private void OnVideoMediaParsedChanged(object sender, MediaParsedChangedEventArgs e)
            {
                
                foreach (var track in videoMedia.Tracks)
                {
                    
                    
                    switch (track.TrackType)
                    {
                        case TrackType.Audio:
                            Debug.WriteLine("Audio track");
                            Debug.WriteLine($"{nameof(track.Data.Audio.Channels)}: {track.Data.Audio.Channels}");
                            Debug.WriteLine($"{nameof(track.Data.Audio.Rate)}: {track.Data.Audio.Rate}");
                            Debug.WriteLine(FourCCConverter.FromFourCC(track.OriginalFourcc));
    
                            break;
                        case TrackType.Video:
                            Debug.WriteLine("Video track");
                            Debug.WriteLine($"{nameof(track.Data.Video.FrameRateNum)}: {track.Data.Video.FrameRateNum}");
                            Debug.WriteLine($"{nameof(track.Data.Video.FrameRateDen)}: {track.Data.Video.FrameRateDen}");
                            Debug.WriteLine($"{nameof(track.Data.Video.Height)}: {track.Data.Video.Height}");
                            Debug.WriteLine($"{nameof(track.Data.Video.Width)}: {track.Data.Video.Width}");
                            break;
                    }
                }
    
    
                button1.Invoke(new Action(() =>
                {
                    button1.Enabled = true;
                }));
    
            }
    
    
    

    Video track
    FrameRateNum: 30000
    FrameRateDen: 1001
    Height: 1080
    Width: 1920
    Audio track
    Channels: 2
    Rate: 48000
    mp4a
    

    在VLC我可以看到 3F2R/LFE

    我怎样才能让libVLC给我 aout_FormatPrintChannels

    //编辑:在播放视频大约1/3秒后(无论是本地文件还是网络),我开始得到正确的数字(6)。但这真的不好,因为我想事先重新映射频道实际上。。。

    0 回复  |  直到 4 年前
    推荐文章