package com.wistron.WiViewer; import android.graphics.Color; import android.text.SpannableString; import android.text.Spanned; import android.text.style.AbsoluteSizeSpan; import android.text.style.ForegroundColorSpan; public class VideoInfo { private String m_title; private String m_album; private String m_artist; private String m_displayName; private String m_mimeType; private String m_path; private long m_size; private long m_duration; public String getM_date() { return m_date; } public String getM_format() { return m_format; } public String getM_videoquality() { return m_videoquality; } public String getM_videoSize() { return m_videoSize; } public String getM_framerate() { return m_framerate; } public String getM_AudioChannel() { return m_AudioChannel; } public void setM_date(String m_date) { this.m_date = m_date; } public void setM_format(String m_format) { this.m_format = m_format; } public void setM_videoquality(String m_videoquality) { this.m_videoquality = m_videoquality; } public void setM_videoSize(String m_videoSize) { this.m_videoSize = m_videoSize; } public void setM_framerate(String m_framerate) { this.m_framerate = m_framerate; } public void setM_AudioChannel(String m_AudioChannel) { this.m_AudioChannel = m_AudioChannel; } private String m_date; private String m_format; private String m_videoquality; private String m_videoSize; private String m_framerate; private String m_AudioChannel; private String[] strings; private String[] stringsInfo; public VideoInfo() { super(); } public String getTitle() { if(this.m_title==null) return "Unknown"; return m_title; } public void setTitle(String title) { this.m_title = title; } public String getAlbum() { if(this.m_album==null) return "Unknown"; return m_album; } public void setAlbum(String album) { this.m_album = album; } public String getArtist() { if(this.m_artist==null ) return "Unknown"; return m_artist; } public void setArtist(String artist) { this.m_artist = artist; } public String getDisplayName() { if(this.m_displayName==null ) return "Unknown"; return m_displayName; } public void setDisplayName(String displayName) { this.m_displayName = displayName; } public String getMimeType() { return m_mimeType; } public void setMimeType(String mimeType) { this.m_mimeType = mimeType; } public String getPath() { if(this.m_path==null) return "Unknown"; return this.m_path; } public String showPath() { String string=this.m_path; if(this.m_path==null) return "Unknown"; if(string.length()>37){ return string.substring(0,35)+"..."; } else{ return string; } } public void setPath(String path) { this.m_path = path; } public String getSize() { if(this.m_size<=0) return "Unknown"; float size = m_size; if (size <= 1024) return size + "Byte"; else if (size > 1024 && size <= 10 * 1024 * 1024) { String s=String.valueOf(size / 1024 - (int) (size / 1024))+"0000"; return (int) (size / 1024) + s.substring(1, 4) + "KB"; } else { String ss=String.valueOf( size / (1024 * 1024) - (int) (size / (1024 * 1024)))+"000"; return (int) (size / (1024 * 1024)) + ss.substring(1,3) + "MB"; } } public void setSize(long size) { this.m_size = size; } public String getDuration() { if(this.m_duration<=0) return "Unknown"; double duration = 0; int minute = 0, second = 0, hour =0; duration=m_duration; duration=Math.ceil(duration/1000); hour=(int) (duration)/3600; minute = (int) (duration)/60-hour*60; second = (int) (duration) %60; return String.format("%02d:%02d:%02d",hour,minute,second); } public void setDuration(long duration) { this.m_duration = duration; } public void setLable() { strings=new String[8]; strings[0]="Video Title"; strings[1]="Duration"; strings[2]="Creation Date & Time"; strings[3]="Compression"; strings[4]="Video Quality"; strings[5]="Video Size"; strings[6]="Frame Rate"; strings[7]="Audio Channel"; } public void setInfo() { stringsInfo=new String[8]; stringsInfo[0]= this.getTitle(); stringsInfo[1]=this.getDuration(); stringsInfo[2]=this.getM_date(); stringsInfo[3]=this.getM_format(); stringsInfo[4]=this.getM_videoquality(); stringsInfo[5]=this.getSize(); stringsInfo[6]=this.getM_framerate(); stringsInfo[7]=this.getM_AudioChannel(); } public SpannableString[] showInfoList() { SpannableString[] res=new SpannableString[8]; setLable(); setInfo(); ForegroundColorSpan whiteColor=new ForegroundColorSpan(Color.WHITE); ForegroundColorSpan infoColor=new ForegroundColorSpan(Color.rgb(31, 234, 189)); for(int i=0;i<res.length;i++) { int curindex=0; res[i]=new SpannableString(strings[i] + "\n"+ stringsInfo[i]); int curstring=strings[i].length(); int curinfo= stringsInfo[i].length(); res[i].setSpan(whiteColor, curindex, curindex+curstring, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); curindex=curindex+curstring+1; res[i].setSpan(infoColor,curindex, curindex+curinfo, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } return res; } public SpannableString showInfo() { setLable(); setInfo(); String string; string = strings[0] + "\n"+ stringsInfo[0]+ "\n"+ " \n" + strings[1]+"\n"+ stringsInfo[1]+ "\n"+ " \n" + strings[2]+"\n"+ stringsInfo[2]+ "\n"+ " \n" + strings[3]+"\n"+ stringsInfo[3]+ "\n"+ " \n" + strings[4] +"\n"+ stringsInfo[4] + "\n"+ " \n" + strings[5]+"\n"+ stringsInfo[5]+ "\n"+ " \n" +strings[6]+"\n"+ stringsInfo[6]+ "\n"+ " \n" +strings[7]+"\n"+ stringsInfo[7]+ "\n"+ " \n"; SpannableString ss = new SpannableString(string); int curindex=0; int curstring=0; int curinfo=0; for(int i=0;i<strings.length;i++) { curstring=strings[i].length(); curinfo= stringsInfo[i].length(); ss.setSpan(new AbsoluteSizeSpan(20), curindex, curindex+curstring+1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); curindex=curindex+curstring+1; ss.setSpan(new AbsoluteSizeSpan(15),curindex, curindex+curinfo+1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); curindex=curindex+curinfo+1; ss.setSpan(new AbsoluteSizeSpan(5),curindex, curindex+2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); curindex=curindex+2; } return ss; } public SpannableString showInfo_() { setLable(); setInfo(); String string; string =strings[0]+"\n"+stringsInfo[0]+"\n" + strings[1]+"\n"+stringsInfo[1]+"\n" + strings[2]+"\n"+stringsInfo[2]+"\n" + strings[3]+"\n"+stringsInfo[3]+"\n" + strings[4]+"\n"+stringsInfo[4]+"\n" + strings[5]+"\n"+stringsInfo[5]+"\n" + strings[6]+"\n"+stringsInfo[6]+"\n" + strings[7]+"\n"+stringsInfo[7]; SpannableString ss = new SpannableString(string); int curindex=0; int curstring=0; int curinfo=0; for(int i=0;i<strings.length;i++) { curstring=strings[i].length(); curinfo= stringsInfo[i].length(); ss.setSpan(new AbsoluteSizeSpan(20), curindex, curindex+curstring, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); curindex=curindex+curstring+1; ss.setSpan(new AbsoluteSizeSpan(15),curindex, curindex+curinfo, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); curindex=curindex+curinfo+1; } return ss; } public SpannableString showInfo__() { setLable(); setInfo(); String string; string= strings[0]+stringsInfo[0]+"\n" + strings[1]+stringsInfo[1]+"\n" + strings[2]+stringsInfo[2]+"\n" + strings[3]+stringsInfo[3]+"\n" + strings[4]+stringsInfo[4]+"\n" + strings[5]+stringsInfo[5]+"\n" + strings[6]+stringsInfo[6]+"\n" + strings[7]+stringsInfo[7]; SpannableString ss = new SpannableString(string); int curindex=0; int curstring=0; int curinfo=0; for(int i=0;i<strings.length;i++) { curstring=strings[i].length(); curinfo= stringsInfo[i].length(); ss.setSpan(new ForegroundColorSpan(Color.WHITE), curindex, curindex+curstring, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ss.setSpan(new ForegroundColorSpan(0xff88ee00), curindex+curstring, curindex+curstring+curinfo, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); curindex=curindex+curstring+curinfo+1; } return ss; } }