首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs中mac失败窗口路径的反斜杠

nodejs中mac失败窗口路径的反斜杠
EN

Stack Overflow用户
提问于 2022-08-05 17:17:03
回答 1查看 91关注 0票数 -1

我正在编写一个应用程序,它将本地路径(Mac)发送到接受Windows路径的Wine。

我无法找到将路径转换为JSON文件的一个反斜杠路径的方法。

  1. paa = ["Hello", "world", "again"].join("\\"); -> Hello\\world\\again

  1. paa = ["Hello", "world", "again"].join(path.sep); -> Hello/world/again

  1. var paa = 'Hello\World\Again' -> HelloWorldAgain

  1. var paa = 'Hello\\World\\Again' -> Hello\\World\\Again

  1. var paa = 'Hello\World\Again'; paa.replace(/\/g, '\\') -> SyntaxError: Invalid regular expression: missing /

  1. paa = path.win32.join('Hello', 'World', 'Again'); -> Hello\\World\\Again

我也尝试过其他几种选择,但都没有用。

我需要下面的"Hello\World\Again"

这是我在NodeJS中的函数

代码语言:javascript
复制
function importSound(session){

  paa = ["Y:", "My", "File", "Path\\"].join("\\") //Option 1 (Not actual path for brevity)
  paa = ["Y:", "My", "File", "Path/"].join("/")   //Option 2 (Not actual path for brevity) 
  
  var newImport = {
    importOperation: "createNew",
    default: {
      importLanguage: "SFX"
    },
    imports: [
      {
        objectPath: "{6A59D4C5-5927-4C64-82AF-4A0CBFBD4C05}",
        audioFile: paa + 'intro1.wav',
        //"@Volume": 0.42
      },
      {
        objectPath: "{6A59D4C5-5927-4C64-82AF-4A0CBFBD4C05}",
        audioFile: paa + 'intro2.wav',
        //"@Volume": 0.1
      }
    ]
  }

  console.log(newImport)

  session.call('ak.wwise.core.object.import', [], newImport ).then(
    function(res) {
      console.log(res)
    },
    function (error) {
      console.log('error: ', error);
    }
  ).then(
    function() {
      connection.close();
    }
  );

}

备选方案1的答复

代码语言:javascript
复制
{
  importOperation: 'createNew',
  default: { importLanguage: 'SFX' },
  imports: [
    {
      objectPath: '{6A59D4C5-5927-4C64-82AF-4A0CBFBD4C05}',
      audioFile: 'Y:\\My\\File\\Path\\intro1.wav'
    },
    {
      objectPath: '{6A59D4C5-5927-4C64-82AF-4A0CBFBD4C05}',
      audioFile: 'Y:\\My\\File\\Path\\intro2.wav'
    }
  ]
}
error:  Error {
  error: 'ak.wwise.invalid_procedure_uri',
  args: [],
  kwargs: {
    message: 'The procedure URI is unknown.',
    details: { procedureUri: 'ak.wwise.core.object.import' }
  }
}
connection closed closed {
  reason: 'wamp.error.goodbye_and_out',
  message: '',
  retry_delay: null,
  retry_count: null,
  will_retry: false
}

来自选项2的响应与不同路径的audioFile: 'Y:/My/File/Path/intro1.wav'相同

我确信我的文件在正确的目录中。

我调用的应用程序(Wwise)有一个链接到Y:\Path\To\Project的葡萄酒项目的路径,所以我假设我必须发送一个以同样方式编码的路径,以便API找到我的文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-05 19:42:14

  1. --您在响应时收到的错误消息--清楚地表明您要传递的uri ('ak.wwise.core.object.import')不是有效的"uri过程“,这意味着这个字符串路径很可能是不正确的。因此,您收到此错误消息的事实使我认为,您的问题与您传递这些audioFile路径的方式和反斜杠的使用没有任何关系。

正如其他人在评论中指出的那样,

  1. 可能会对终端在评估这些语句后提供的输出感到困惑。尝试在节点或浏览器控制台中执行以下语句,您很快就会注意到,您的代码用一个反斜杠正确地连接了字符串:‘Y:’,'My',‘Path’..join(‘\’) 'Y:\My\Path‘// <- -不要对此感到困惑,这只是控制台为显示的值的直观表示。

现在,尝试以下方法:

console.log('Y:','My',‘Path’.联接(‘\’) Y:\My\Path // <-这是实际值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73253292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档