示例#1
0
        //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        //ORIGINAL LINE: @Override public void encodeTrack(MessageOutput stream, AudioTrack track) throws IOException
        public override void encodeTrack(MessageOutput stream, AudioTrack track)
        {
            DataOutput output = stream.startMessage();

            output.write(TRACK_INFO_VERSION);

            AudioTrackInfo trackInfo = track.Info;

            output.writeUTF(trackInfo.title);
            output.writeUTF(trackInfo.author);
            output.writeLong(trackInfo.length);
            output.writeUTF(trackInfo.identifier);
            output.writeBoolean(trackInfo.isStream);
            DataFormatTools.writeNullableText(output, trackInfo.uri);

            encodeTrackDetails(track, output);
            output.writeLong(track.Position);

            stream.commitMessage(TRACK_INFO_VERSIONED);
        }
示例#2
0
        //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        //ORIGINAL LINE: @Override public DecodedTrackHolder decodeTrack(MessageInput stream) throws IOException
        public override DecodedTrackHolder decodeTrack(MessageInput stream)
        {
            DataInput input = stream.nextMessage();

            if (input == null)
            {
                return(null);
            }

            int version = (stream.MessageFlags & TRACK_INFO_VERSIONED) != 0 ? (input.readByte() & 0xFF) : 1;

            AudioTrackInfo trackInfo = new AudioTrackInfo(input.readUTF(), input.readUTF(), input.readLong(), input.readUTF(), input.readBoolean(), version >= 2 ? DataFormatTools.readNullableText(input) : null);
            AudioTrack     track     = decodeTrackDetails(trackInfo, input);
            long           position  = input.readLong();

            if (track != null)
            {
                track.Position = position;
            }

            stream.skipRemainingBytes();

            return(new DecodedTrackHolder(track));
        }