簡體   English   中英

在Windows上的Java和C ++之間發送數據?

[英]Sending data between Java to c++ on windows?

我想將原始音頻緩沖區發送到c ++以進行音頻轉碼。 我有兩個選擇

  1. 使用管道流
    • 使用直接緩沖區(java.nio)

這些真的是我的2個最佳選擇嗎(人們會推薦哪個?)謝謝!

JNI很容易搞砸,因此人們傾向於抱怨它。 但是,如果正確完成的話,它是一個極佳且極其穩定的選擇。

NIO中的直接緩沖區幾乎肯定會具有更好的性能。 這幾乎是直接緩沖區的理想情況。

我不確定您要問的問題是什么-如果您想知道是否還有其他選擇,那么答案肯定是(例如,您可以寫入文件,然后調用外部應用程序進行處理-或者您可以使用不帶直接緩沖區的JNI)。 但是,如果您想在Java和C ++代碼之間建立緊密耦合的高性能接口,則可以將JNI與直接緩沖區一起使用。

您可以使用套接字(接受來自本地的連接),但是我猜想它在* nix系統上會更有效。

如果您不需要實時轉碼,我會選擇緩沖區方法。 這樣,您可以更好地進行控制,並且可以確保沒有字節丟失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM