作者qnismine (qn是我的)
看板MacDev
标题[问题] 有关rtsp image thread的问题
时间Mon Jun 29 15:03:20 2015
live555 接收rtsp的stream
再丢给ffmpeg来decode h.264
在view controler里 写了一个function 丢AVFrame进来
经过一连串的 CGBitmapInfo CFDataRef ....等等
转成UIImage 的格式
再来就不知道怎麽丢到uiimageview显示了...
在android 有个handler可以接收message 在将 imageview 印出影像
不知道ios有没有??
有用 UIImageWriteTosavedPhotosAlbum 将图档存在相簿 是完整的图
也可以一连串一直收...
可是就是无法印到UiImageview的容器里显示出来
--
1F:→ gbcowandy:忠孝不能两全06/18 15:40
2F:→ XSZX:忠孝不能两全06/18 15:41
3F:推 YesNoter:楼上你们再一起好了06/18 15:41
4F:推 bseiqwkbk:楼上你们再一起好了06/18 15:42
5F:推 Narcissuss:不是还有鸭头的挂06/18 15:42
6F:推 lucifer19:不是还有鸭头的挂06/18 15:42
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.34.167.9
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1435561404.A.D8B.html
7F:推 Blueshiva: uiimageview.image = image 06/29 15:05
恩 是这样没错
我rtsp 协定是放在
dispatch_async里面一直让他跑
ffmpeg 每一张decode完之後会跑一个function在里面做出 UIImage的图
我在那个function放入一个main thread
dispatch_async(dispatch_get_main_queue(),^{
self.uiimageview.image = image
}));
可是却都没有显示T_T
※ 编辑: qnismine (1.34.167.9), 06/29/2015 15:13:29
8F:→ Esvent: 确定UIImage没有问题的话 那就是检查UIImageView罗 06/29 22:24
9F:→ Esvent: 检查看看是否有实体化、是否有加入super view、frame是不 06/29 22:26
10F:→ Esvent: 是合法之类的 06/29 22:26
11F:推 liddle: 该不会没在 ui thread 吧? 07/01 00:08
12F:→ liddle: 要确认 image 有传入 07/01 00:10
後来做测试...在
UIImage *image = [UIImage imageNamed:@"smallqq.jpg"];
self.uiimageview.image = image;
NSLog(@"after set image");
中断点设在nslog那 我去看self 里面uiimageview里面的值竟然是nil...
可是我把同样的程式码放到viewdidload 竟然OK
为什麽放到thread 却无法给值呢?? 好难理解阿~><
※ 编辑: qnismine (1.34.167.9), 07/01/2015 15:44:32
13F:→ kingof543: viewDidLoad完 uiimageview才会被建起来吧 07/15 21:41