LocalServerSocket 输出数据到本地

baidu_26974557 2016-06-11 11:25:16
public class ServerThread implements Runnable {
private LocalServerSocket server = null;
private BufferedReader reader = null;
private LocalSocket connect;
private String readString;
private OutputStreamWriter writer;
private String environmentPath;
private File dir;

public ServerThread() {
environmentPath = getSDPath();
if (environmentPath == null) {
return;
}
dir = new File(environmentPath + "/recordtest");
if (!dir.exists()) { //返回一个布尔值,指示是否可以在下面的文件系统中找到这个文件。
dir.mkdir();
}
}

public String getDate() {
Calendar ca = Calendar.getInstance();
int year = ca.get(Calendar.YEAR); // 获取年份
int month = ca.get(Calendar.MONTH); // 获取月份
int day = ca.get(Calendar.DATE); // 获取日
int minute = ca.get(Calendar.MINUTE); // 分
int hour = ca.get(Calendar.HOUR); // 小时
int second = ca.get(Calendar.SECOND); // 秒

String date = "" + year + (month + 1) + day + hour + minute + second;
return date;
}

public String getSDPath() {
File sdDir = null;
boolean sdCardExist = Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED); // 判断sd卡是否存在
if (sdCardExist) {
sdDir = Environment.getExternalStorageDirectory();// 获取跟目录
return sdDir.toString();
}
return null;
}

@Override
public void run() {
try {
server = new LocalServerSocket(GlobalVariable.SOCKET_ADDRESS);
while (true) {
connect = server.accept();
Credentials peerCredentials = connect.getPeerCredentials();
Log.w("TAG", "accept socket uid:" + peerCredentials.getUid());
reader = new BufferedReader(new InputStreamReader
(connect.getInputStream()));
writer = new OutputStreamWriter(
new FileOutputStream(dir+"/"+getDate()+".mp4"));

while ((readString = reader.readLine()) != null) {
if (readString.equals("finish")) break;
writer.write(readString);
}
writer.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
if (writer != null)
writer.close();
if (connect != null)
connect.close();
if (server != null)
server.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}


文件能够输出,但是输出的MP4不能播放 求大神 看一下哪里可以改正
...全文
341 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_26974557 2016-10-05
  • 打赏
  • 举报
回复
客户端那边的启动这个线程 并且设置了mediaRecorder.setOutputFile(localsoket.getFileDescriptor());

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧