|  |  | @ -1,44 +1,52 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | package com.yinuo.library.vlc; |  |  |  | package com.yinuo.library.vlc | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | import android.graphics.Bitmap; |  |  |  | import android.graphics.Bitmap | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | import android.graphics.Color; |  |  |  | import android.graphics.Color | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | import android.text.TextUtils; |  |  |  | import android.text.TextUtils | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | import org.easydarwin.util.YUVUtils | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | import org.easydarwin.util.YUVUtils; |  |  |  | import java.text.SimpleDateFormat | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.text.SimpleDateFormat; |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
		
		
			
				
					
					|  |  |  |  * Created by John on 2017/2/23. |  |  |  |  * Created by John on 2017/2/23. | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | object TxtOverlay { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     // 上一次展示的提示文字 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private var mLastShowTip = "" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     // 待展示的提示文字 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private var mToDoShowTip = "1111111@2222222@333333" | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | public class TxtOverlay { |  |  |  |     // 外部调用,设置待显示水印文字 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     fun setShowTip(string: String) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         mToDoShowTip = string | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     String mTip = ""; |  |  |  |     // 上一次展示的时间 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     long lastTipUpdateTime = 0; |  |  |  |     private var lastTipUpdateTime: Long = 0 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     Bitmap bmp; |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     SimpleDateFormat dateFormat = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); |  |  |  |     // 文字生成的bitmap | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private var bmp: Bitmap? = null | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public TxtOverlay() { |  |  |  |     // 时间格式化字符串 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     private val dateFormat = SimpleDateFormat("yy-MM-dd HH:mm:ss") | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public Bitmap javaOverlayBm(String txt) { |  |  |  |     fun buildOverlayBitmap(): Bitmap? { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         if (TextUtils.isEmpty(txt)) { |  |  |  |         if (TextUtils.isEmpty(mToDoShowTip)) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             return null; |  |  |  |             return null | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         long currentTimeMillis = System.currentTimeMillis(); |  |  |  |         val currentTimeMillis = System.currentTimeMillis() | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         // 限制获取bitmap的频率,保证性能 |  |  |  |         // 限制获取bitmap的频率,保证性能 | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (TextUtils.isEmpty(mTip) || (!txt.equals(mTip) || currentTimeMillis - lastTipUpdateTime > 1000)) { |  |  |  |         if (TextUtils.isEmpty(mLastShowTip) || mToDoShowTip != mLastShowTip || currentTimeMillis - lastTipUpdateTime > 1000) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             // 记录更新时间和上一次的文字 |  |  |  |             // 记录更新时间和上一次的文字 | 
			
		
	
		
		
			
				
					
					|  |  |  |             lastTipUpdateTime = currentTimeMillis; |  |  |  |             lastTipUpdateTime = currentTimeMillis | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             mTip = txt; |  |  |  |             mLastShowTip = mToDoShowTip | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             // 文字转bitmap |  |  |  |             // 文字转bitmap | 
			
		
	
		
		
			
				
					
					|  |  |  |             bmp = YUVUtils.generateBitmap(dateFormat.format(lastTipUpdateTime) + "@" + txt, 40, Color.WHITE); |  |  |  |             bmp = YUVUtils.generateBitmap( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 dateFormat.format(lastTipUpdateTime) + "@" + mToDoShowTip, 40, Color.WHITE | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             ) | 
			
		
	
		
		
			
				
					
					|  |  |  |             // 缩放旋转bitmap |  |  |  |             // 缩放旋转bitmap | 
			
		
	
		
		
			
				
					
					|  |  |  | //            bmp = YUVUtils.rotateImage(bmp, 0); |  |  |  | //            bmp = YUVUtils.rotateImage(bmp, 0); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         return bmp; |  |  |  |         return bmp | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  |  |