当前位置:  编程技术>移动开发
本页文章导读:
    ▪unity3d 摄影机画面作为材质贴到模型上面去        unity3d 摄像机画面作为材质贴到模型上面去首先创建一个RenderTexture,然后放到需要成像的摄像头的TargetTexture位置,如下图红线所示, 最后将此RenderTexture放在需要看到的模型上,我是创建了个 .........
    ▪ 流媒体开发之-直播解析优酷电影链接-一        流媒体开发之-直播解析优酷电影链接-1 可可工作室出品: 欢迎使用可可直播视频播放器: http://pan.baidu.com/share/link?shareid=3291150676&uk=4111208708 1、流媒体开发之--直播实现 2、流媒体开发之.........
    ▪ 半/全角变换-中英文标点转换工具类       半/全角转换--中英文标点转换工具类在android中如果有很多文字需要在TextView中进行展示,经常会出现边对不齐的现象,经常是由于标点符号和数字的占据位置不一样导致,这时下面的转换就.........

[1]unity3d 摄影机画面作为材质贴到模型上面去
    来源: 互联网  发布时间: 2014-02-18
unity3d 摄像机画面作为材质贴到模型上面去

首先创建一个RenderTexture,然后放到需要成像的摄像头的TargetTexture位置,如下图红线所示,



最后将此RenderTexture放在需要看到的模型上,我是创建了个


红线处摄像头的为上面添加了RenderTexsture的摄像头,下面的蓝色的板就是放了相同RenderTexture的Panel,这样就可以将红线的摄像头看到的东西呈现在下面的板上了,



    
[2] 流媒体开发之-直播解析优酷电影链接-一
    来源: 互联网  发布时间: 2014-02-18
流媒体开发之-直播解析优酷电影链接-1

可可工作室出品:

欢迎使用可可直播视频播放器:

http://pan.baidu.com/share/link?shareid=3291150676&uk=4111208708

1、流媒体开发之--直播实现

2、流媒体开发之-直播自定义列表

3、流媒体开发之-服务器图片的加载

4、流媒体开发之-直播自定义分类

5、流媒体开发之-获取直播节目预告-1

6、流媒体开发之-直播界面切换电视台频道

 

在5、流媒体开发之-获取直播节目预告-1 中我们使用了jsoup来获取了网页中的节目预告,为什么上面会添加一个-1呢,因为之前的解析的网页是我随便在网上找到的,因此解析的时候有时并不是最佳的,所以我们需要多寻找几个直播节目预告的网站,寻找一个比较适合的,在-2中我会用一个比较好的网页来解析,这一章我们也会用到之前的jsoup,解析优酷中的网页链接,然后使用vparse来解析这个网页链接获取真正的视频的m3u8,然后传递给播放器进行播放,下面我们先介绍一下Vparse这个工具,它的下载地址http://download.csdn.net/detail/jwzhangjie/6025551,

 

下载下来后,把VParser.jar放到libs下面,使用的方式很简单

Video video = new VParser(context).parse(url);
String videoTitle = video.title;
String videoUri = video.videoUri;

当然在程序里面我们不能这样写,因为这个功能是消耗时间的,所以我们要放在一个与主线程无关的后台,可以使用异步,Handler, Thread,这里我们使用官方的一个实例,放在异步里面,首先是布局代码:

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/website_url" />

    <EditText
        android:id="@+id/et_website"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textMultiLine"
        android:text="@string/sample" >
    </EditText>

    <Button
        android:id="@+id/bt_parser"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btn_parser" />

    <TextView
        android:id="@+id/tv_title"
        android:layout_marginTop="10dp"
        android:selectAllOnFocus="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
	
    <TextView
        android:id="@+id/tv_uri"
        android:layout_marginTop="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:selectAllOnFocus="true" />

</LinearLayout>


接下来就是主代码了:
MainActivity.java

package com.yixia.sample.vparser;

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.yixia.vparser.VParser;
import com.yixia.vparser.model.Video;

public class MainActivity extends Activity implements OnClickListener {

	private VParser mVParser;
	private EditText mEditText;
	private Button mParserButton;
	private TextView mTitleView;
	private TextView mUriView;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mVParser = new VParser(this);
		mEditText = (EditText)findViewById(R.id.et_website);
		mParserButton = (Button)findViewById(R.id.bt_parser);
		mParserButton.setOnClickListener(this);
		mTitleView = (TextView)findViewById(R.id.tv_title);
		mUriView = (TextView)findViewById(R.id.tv_uri);
	}

	@Override
  public void onClick(View v) {
		String website = mEditText.getText().toString();
		if (TextUtils.isEmpty(website)) {
			return;
		}
		new AsyncTask<Object, Void, Video>() {

			@Override
      protected Video doInBackground(Object... params) {
	      return mVParser.parse(String.valueOf(params[0]));
      }
			
			@Override
			protected void onPostExecute(Video result) {
			  super.onPostExecute(result);
			  String title = result.title;
			  String uri = result.videoUri;
			  String website = result.videoSiteUri;
			  mTitleView.setText(title);
			  mUriView.setText(uri);
			}
			
		}.execute(website);
	  
  }
	
	

}


看一下解析效果:

我不太清楚大家看见这个链接会想到什么,反正我一看见这个解析出来的m3u8(当然我测试过是好用的),我看见网页链接中的id_后面的XNTY4NTE0OTc2与解析出来的m3u8中vid/后面,type之前的内容是一样的,所以我就想这会不会是巧合呢,所以我就试验了另一个中国合伙人http://v.youku.com/v_show/id_XNTk1MzY5MDE2.html 然后用里面的XNTk1MzY5MDE2替换解析出来的m3u8中的XNTY4NTE0OTc2,然后测试了一下链接是好用的,说明优酷电影频道资源是mp4格式的链接是样式是一样的,这样最便捷的方式获取链接的方式就是使用jsoup把http://movie.youku.com/ 中所有的视频链接获取出现,然后用户点击某一个链接后,取出链接中的id,放在vid和type之间就是这个视频的m3u8链接了,最后放在视频播放器里面播放就可以了,我实验过电视台,电影,综艺都可以以这样的方式获取。

    当然这种方式不是最保险的,一旦优酷该变了路径就不行了,你就需要重新去解析一个看看,在下一章中我会讲解解析优酷电影频道,把里面的电影的缩略图,标题,链接解析到本地

 

可可工作室出品:

欢迎使用可可直播视频播放器:

http://pan.baidu.com/share/link?shareid=3291150676&uk=4111208708

 


    
[3] 半/全角变换-中英文标点转换工具类
    来源: 互联网  发布时间: 2014-02-18
半/全角转换--中英文标点转换工具类

在android中如果有很多文字需要在TextView中进行展示,经常会出现边对不齐的现象,经常是由于标点符号和数字的占据位置不一样导致,这时下面的转换就会有用武之地了。

/**
     * 半角转换为全角
     * 
     * @param input
     * @return
     */
    public static String ToDBC(String input) {
        char[] c = input.toCharArray();
        for (int i = 0; i < c.length; i++) {
            if (c[i] == 12288) {
                c[i] = (char) 32;
                continue;
            }
            if (c[i] > 65280 && c[i] < 65375)
                c[i] = (char) (c[i] - 65248);
        }
        return new String(c);
    }
 
 
/**
     * 去除特殊字符或将所有中文标号替换为英文标号
     * 
     * @param str
     * @return
     */
    public static String stringFilter(String str) {
        str = str.replaceAll("【", "[").replaceAll("】", "]")
                .replaceAll("!", "!").replaceAll(":", ":");// 替换中文标号
        String regEx = "[『』]"; // 清除掉特殊字符
        Pattern p = Pattern.compile(regEx);
        Matcher m = p.matcher(str);
        return m.replaceAll("").trim();
    }


1楼u0111144784天前 09:51来踩踩,回踩哦

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3