public static Label[] getLabels(AudioSampleEntry se) { ChannelBox channel = Box.findFirst(se, ChannelBox.class, "chan"); if (channel != null) return ChannelUtils.getLabels(channel); else { short channelCount = se.getChannelCount(); switch (channelCount) { case 1: return new Label[] { Label.Mono }; case 2: return new Label[] { Label.Left, Label.Right }; case 3: return new Label[] { Label.Left, Label.Right, Label.Center }; case 4: return new Label[] { Label.Left, Label.Right, Label.LeftSurround, Label.RightSurround }; case 5: return new Label[] { Label.Left, Label.Right, Label.Center, Label.LeftSurround, Label.RightSurround }; case 6: return new Label[] { Label.Left, Label.Right, Label.Center, Label.LFEScreen, Label.LeftSurround, Label.RightSurround }; default: Label[] res = new Label[channelCount]; Arrays.fill(res, Label.Mono); return res; } } }
public static Label[] getLabelsFromSampleEntry(AudioSampleEntry se) { ChannelBox channel = NodeBox.findFirst(se, ChannelBox.class, "chan"); if (channel != null) return getLabelsFromChan(channel); else { short channelCount = se.getChannelCount(); switch (channelCount) { case 1: return new Label[] { Label.Mono }; case 2: return new Label[] { Label.Left, Label.Right }; case 3: return new Label[] { Label.Left, Label.Right, Label.Center }; case 4: return new Label[] { Label.Left, Label.Right, Label.LeftSurround, Label.RightSurround }; case 5: return new Label[] { Label.Left, Label.Right, Label.Center, Label.LeftSurround, Label.RightSurround }; case 6: return new Label[] { Label.Left, Label.Right, Label.Center, Label.LFEScreen, Label.LeftSurround, Label.RightSurround }; default: Label[] res = new Label[channelCount]; Arrays.fill(res, Label.Mono); return res; } } }
public static Label[] getLabels(AudioSampleEntry se) { ChannelBox channel = Box.findFirst(se, ChannelBox.class, "chan"); if (channel != null) return ChannelUtils.getLabels(channel); else { short channelCount = se.getChannelCount(); switch (channelCount) { case 1: return new Label[] { Label.Mono }; case 2: return new Label[] { Label.Left, Label.Right }; case 3: return new Label[] { Label.Left, Label.Right, Label.Center }; case 4: return new Label[] { Label.Left, Label.Right, Label.LeftSurround, Label.RightSurround }; case 5: return new Label[] { Label.Left, Label.Right, Label.Center, Label.LeftSurround, Label.RightSurround }; case 6: return new Label[] { Label.Left, Label.Right, Label.Center, Label.LFEScreen, Label.LeftSurround, Label.RightSurround }; default: Label[] res = new Label[channelCount]; Arrays.fill(res, Label.Mono); return res; } } }